Credits to @NisuzenZ or however you spell your retarded name.
Code:
// connect.js
var ID_PLAYER_TEXT = $.findPacketId("PLAYERTEXT");
var servers = { "usw" : "50.18.113.133",
"usw2" : "184.169.130.44",
"use" : "184.72.218.199",
"use2" : "23.21.243.164",
"use3" : "50.19.47.160",
"uss" : "107.22.231.55",
"uss2" : "107.20.55.255",
"uss3" : "204.236.195.161",
"usmw" : "107.22.218.252",
"usmw2" : "54.227.7.167",
"ussw" : "50.18.176.194",
"usnw" : "184.169.131.108",
"euw" : "46.137.187.86",
"euw2" : "176.34.195.206",
"eue" : "46.51.176.123",
"eus" : "46.137.138.25",
"eun" : "176.34.240.11",
"eun2" : "46.137.38.91",
"eusw" : "176.34.240.126",
"ae" : "46.137.218.95",
"ase" : "46.137.247.5" };
var usage =
"Usage: /con <server>\n \
\t\tusw \n \
\t\tusw2 \n \
\t\tuse \n \
\t\tuse2 \n \
\t\tuse3 \n \
\t\tuss \n \
\t\tuss2 \n \
\t\tuss3 \n \
\t\tusmw \n \
\t\tusmw2 \n \
\t\tussw \n \
\t\tusnw \n \
\t\teuw \n \
\t\teuw2 \n \
\t\teue \n \
\t\teus \n \
\t\teun \n \
\t\teun2 \n \
\t\teusw \n \
\t\tae \n \
\t\tase \n";
function onClientPacket(event) {
var packet = event.getPacket();
switch (packet.id()) {
case ID_PLAYER_TEXT: {
var text = packet.text.toLowerCase();
if(text.length() >= 4 && text.substring(0,4) == "/con"){
event.cancel();
if(text.length() <= 5){
event.echo(usage)
break;
}
var server = text.substring(5, text.length());
if(servers[server] == null)
event.echo("Server " + server + " not found.");
else{
event.setGameIdSocketAddress(-2, servers[server], event.getRemotePort());
event.kickUser();
}
}
break;
}
}
}
Save in /scripts/. Type "/con usmw2" in-game to switch to uswm2, etc etc.