Results 1 to 11 of 11
  1. #1
    CrazyJani's Avatar
    Join Date
    Jan 2013
    Gender
    male
    Posts
    2,475
    Reputation
    170
    Thanks
    15,666

    [Java] connect.js updater

    Quite a few server ip updaters have been posted recently so I decided to make my own one. But this one is a bit different, (what would be the point of releasing same thing anyway) this generates a new connect.js file to be used with realm relay (found it quite boring to copy paste the new ips of the servers in)
     
    Code:
    package connect;
    
    import java****.BufferedReader;
    import java****.FileNotFoundException;
    import java****.InputStreamReader;
    import java.net.URL;
    import java.net.URLConnection;
    import java.util.*;
    import java****.*;
    
    
    public class Connect {
       public static Vector<String> servers = new Vector<String>();
       public static Vector<String> ips = new Vector<String>();
       
       public static void main(String[] args) throws FileNotFoundException {
    	   registerServers();
    	   writeConnect();
       }
    
        public static String getTextFrom(String url) throws Exception {
            URL website = new URL(url);
            URLConnection connection = website.openConnection();
            BufferedReader in = new BufferedReader(
            new InputStreamReader(
            connection.getInputStream()));
            StringBuilder response = new StringBuilder();
            String inputLine;
            while ((inputLine = in.readLine()) != null) 
                response.append(inputLine);
            in.close();
            return response.toString();
        }
    
       public static void registerServers() {
          String text;
          try {
             text = getTextFrom("https://www.realmofthemadgod.appspo*****m/char/list");
          } catch (Exception e) {
             return;
          }
          String[] split = text.split("<Server>");
          Vector<Character> abbreviation = new Vector<Character>();
          for (String str : split) {
             if (str.indexOf("</DNS>") != -1) {
                String serv = str.split("</DNS>")[0].replace("</Name><DNS>", " - ").replace("<Name>", "");
                String name = serv.split(" - ")[0];
                char[] namea = name.toCharArray();
                for (int i = 0; i < namea.length; i++) {
                	if(Character.isUpperCase(namea[i]) || Character.isDigit(namea[i])) {
                		abbreviation.add(Character.toLowerCase(namea[i]));
                	}
                }
                String abbre = "";
                for (int j = 0; j < abbreviation.size(); j++) {
                	abbre += abbreviation.elementAt(j).toString();
                }
                servers.add(abbre);
                ips.add(serv.split(" - ")[1]);
             }
             abbreviation.clear();
          }
       }
       
       public static void writeConnect() throws FileNotFoundException {
    	   PrintWriter connectjs = new PrintWriter(new FileOutputStream("connect.js"), true);
    	   connectjs.println("// connect.js");
    	   connectjs.println("");
    	   connectjs.println("var ID_TEXT = $.findPacketId(\"TEXT\");");
    	   connectjs.println("var ID_PLAYERTEXT = $.findPacketId(\"PLAYERTEXT\");");
    	   connectjs.println("var ID_FAILURE = $.findPacketId(\"FAILURE\");");
    	   connectjs.println("");
    	   connectjs.println("var servers = {");
    	   for (int i = 0; i < servers.size()-1; i++) {
    		   connectjs.println("\""+servers.get(i)+"\" : \""+ips.get(i)+"\",");
    	   }
    	   connectjs.println("\""+servers.get(servers.size()-1)+"\" : \""+ips.get(servers.size()-1)+"\" };");
    	   connectjs.println("");
    	   connectjs.println("var usage =");
    	   connectjs.println("\"Usage: /con <server> \\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t \\");
    	   for (int i = 0; i < servers.size()-1; i++) {
    		   connectjs.print(servers.get(i)+", ");
    	   }
    	   connectjs.println(servers.get(servers.size()-1)+"\";");
    	   connectjs.println("");
    	   connectjs.println("function onClientPacket(event) {");
    	   connectjs.println("	var packet = event.getPacket();");
    	   connectjs.println("	switch (packet.id()) {");
    	   connectjs.println("		case ID_PLAYERTEXT: {");
    	   connectjs.println("			var text = packet.text.toLowerCase();");
    	   connectjs.println("			var params = text.split(\" \");");
    	   connectjs.println("			if(params[0] == \"/con\") {");
    	   connectjs.println("				event.cancel();");
    	   connectjs.println("				if (params.length < 2 || params.length > 2){");
    	   connectjs.println("					yellowAlert(event, usage);");
    	   connectjs.println("					break;");
    	   connectjs.println("				} else if(servers[params[1]] == null) {");
    	   connectjs.println("					redAlert(event, \"Server \" + params[1] + \" not found\");");
    	   connectjs.println("				} else{");
    	   connectjs.println("					$.setGameIdSocketAddress(-2, servers[params[1]], event.getRemotePort());");
    	   connectjs.println("					$.kickUser();");
    	   connectjs.println("				}");
    	   connectjs.println("			}");
    	   connectjs.println("			break;");
    	   connectjs.println("		}");
    	   connectjs.println("	}");
    	   connectjs.println("}");
    	   connectjs.println("");
    	   connectjs.println("function yellowAlert(event, text) {");
    	   connectjs.println("	var textPacket = event.createPacket(ID_TEXT);");
    	   connectjs.println("	textPacket.name = \"\";");
    	   connectjs.println("	textPacket.objectId = -1;");
    	   connectjs.println("	textPacket.numStars = -1;");
    	   connectjs.println("	textPacket.bubbleTime = 0;");
    	   connectjs.println("	textPacket.recipient = \"\";");
    	   connectjs.println("	textPacket.text = text;");
    	   connectjs.println("	textPacket.cleanText = \"\";");
    	   connectjs.println("	event.sendToClient(textPacket);");
    	   connectjs.println("}");
    	   connectjs.println("");
    	   connectjs.println("function redAlert(event, text) {");
    	   connectjs.println("    var failurePacket = event.createPacket(ID_FAILURE);");
    	   connectjs.println("    failurePacket.errorId = 9;");
    	   connectjs.println("    failurePacket.errorDescription = text;");
    	   connectjs.println("    event.sendToClient(failurePacket);");
    	   connectjs.println("}");
    	   connectjs.close();
       }
    }


    In case of the word filter filtering the imports:


    Quite poorly made I admit but gets the job done. If there is anything to avoid doing in future, please tell me


    Edit: Forgot to credit @ZBORNOX , some of the code was copied from his FlameWare(?)
    Last edited by CrazyJani; 02-26-2014 at 07:24 AM.

  2. The Following 4 Users Say Thank You to CrazyJani For This Useful Post:

    059 (02-26-2014),Alde. (02-26-2014),fuzzayboy (03-19-2014),infern000 (02-25-2014)

  3. #2
    infern000's Avatar
    Join Date
    Jul 2012
    Gender
    male
    Posts
    294
    Reputation
    10
    Thanks
    74
    nice.
    i wonder if kabam thought about rotating the server ips to counteract RR. They DID afterall remove the hostnames which i predicted they would. Your welcome KABAM :P

    maybe you could add an settings.properties updater which contains the default Realm server it connects to at first.

  4. #3
    CrazyJani's Avatar
    Join Date
    Jan 2013
    Gender
    male
    Posts
    2,475
    Reputation
    170
    Thanks
    15,666
    Quote Originally Posted by infern000 View Post
    maybe you could add an settings.properties updater which contains the default Realm server it connects to at first.
    I think that would be stupid because it's not a big job to get one of the ips. But copy-pasting all ips from the list is a little pain

  5. #4
    HoffHorn's Avatar
    Join Date
    Sep 2012
    Gender
    male
    Posts
    411
    Reputation
    10
    Thanks
    96
    Hey man! I'm very new with java. This script would be very useful for me! It seems like it would be simple to run this but I'm clueless. Sorry :X Any help?

  6. #5
    CrazyJani's Avatar
    Join Date
    Jan 2013
    Gender
    male
    Posts
    2,475
    Reputation
    170
    Thanks
    15,666
    This thread explains using Eclipse to compile java code quite well

  7. #6
    rocker1988's Avatar
    Join Date
    Sep 2006
    Gender
    male
    Posts
    301
    Reputation
    10
    Thanks
    62
    My Mood
    Doubtful
    First of all....

    Where in the source files do I add that package to?


  8. #7
    CrazyJani's Avatar
    Join Date
    Jan 2013
    Gender
    male
    Posts
    2,475
    Reputation
    170
    Thanks
    15,666
    Quote Originally Posted by rocker1988 View Post
    Where in the source files do I add that package to?
    This is a standalone program, don't try to add it to realm relay source

  9. #8
    rocker1988's Avatar
    Join Date
    Sep 2006
    Gender
    male
    Posts
    301
    Reputation
    10
    Thanks
    62
    My Mood
    Doubtful
    Thanks, got it working

  10. #9
    fuzzayboy's Avatar
    Join Date
    May 2009
    Gender
    female
    Posts
    26
    Reputation
    43
    Thanks
    302
    For those of you who don't really know how to get this working or can't be bothered to install something to compile java; here's the list updated for 19.5.1 (Not sure when it'll go bad, let me know if it does, I'll update the post.) Thanks to CrazyJani for the link, I had no idea where to get those previous to the OP.

    I suck at regex, so you're stuck copy pasting those on your own.

    Code:
    	<Servers>
    		<Server>
    			<Name>USWest</Name>
    			<DNS>54.241.208.233</DNS>
    			<Lat>37.34</Lat>
    			<Long>-121.89</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>USMidWest</Name>
    			<DNS>54.80.67.112</DNS>
    			<Lat>38.63</Lat>
    			<Long>-90.20</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>EUWest</Name>
    			<DNS>54.195.57.43</DNS>
    			<Lat>53.48</Lat>
    			<Long>-2.23</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>USEast</Name>
    			<DNS>54.224.68.81</DNS>
    			<Lat>42.36</Lat>
    			<Long>-71.06</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>AsiaSouthEast</Name>
    			<DNS>54.255.15.39</DNS>
    			<Lat>1.35</Lat>
    			<Long>103.82</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>USSouth</Name>
    			<DNS>23.22.180.212</DNS>
    			<Lat>35.23</Lat>
    			<Long>-80.84</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>USSouthWest</Name>
    			<DNS>54.219.44.205</DNS>
    			<Lat>32.80</Lat>
    			<Long>-96.77</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>EUEast</Name>
    			<DNS>46.137.30.179</DNS>
    			<Lat>54.69</Lat>
    			<Long>25.28</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>EUNorth</Name>
    			<DNS>54.195.96.152</DNS>
    			<Lat>59.33</Lat>
    			<Long>18.06</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>EUSouthWest</Name>
    			<DNS>54.217.63.70</DNS>
    			<Lat>48.86</Lat>
    			<Long>2.35</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>USEast3</Name>
    			<DNS>54.226.214.216</DNS>
    			<Lat>39.95</Lat>
    			<Long>-75.16</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>USWest2</Name>
    			<DNS>54.193.168.4</DNS>
    			<Lat>36.75</Lat>
    			<Long>-119.77</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>USMidWest2</Name>
    			<DNS>50.17.143.165</DNS>
    			<Lat>41.88</Lat>
    			<Long>-87.63</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>USEast2</Name>
    			<DNS>54.204.50.57</DNS>
    			<Lat>42.89</Lat>
    			<Long>-78.88</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>USNorthWest</Name>
    			<DNS>50.18.24.120</DNS>
    			<Lat>42.33</Lat>
    			<Long>-122.88</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>AsiaEast</Name>
    			<DNS>175.41.201.80</DNS>
    			<Lat>25.09</Lat>
    			<Long>121.56</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>USSouth3</Name>
    			<DNS>54.80.250.47</DNS>
    			<Lat>-30.03</Lat>
    			<Long>-51.23</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>EUNorth2</Name>
    			<DNS>54.216.200.98</DNS>
    			<Lat>54.32</Lat>
    			<Long>10.12</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>EUWest2</Name>
    			<DNS>54.216.27.65</DNS>
    			<Lat>51.51</Lat>
    			<Long>-0.13</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>EUSouth</Name>
    			<DNS>54.195.179.215</DNS>
    			<Lat>53.00</Lat>
    			<Long>-8.00</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>USSouth2</Name>
    			<DNS>50.19.7.133</DNS>
    			<Lat>100.00</Lat>
    			<Long>100.00</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>USWest3</Name>
    			<DNS>54.241.223.240</DNS>
    			<Lat>37.76</Lat>
    			<Long>-121.95</Long>
    			<Usage>0.00</Usage>
    		</Server>
    	</Servers>

  11. #10
    059's Avatar
    Join Date
    Mar 2011
    Gender
    male
    Location
    California
    Posts
    3,312
    Reputation
    700
    Thanks
    92,771
    Quote Originally Posted by fuzzayboy View Post
    For those of you who don't really know how to get this working or can't be bothered to install something to compile java; here's the list updated for 19.5.1 (Not sure when it'll go bad, let me know if it does, I'll update the post.) Thanks to CrazyJani for the link, I had no idea where to get those previous to the OP.

    I suck at regex, so you're stuck copy pasting those on your own.

    Code:
    	<Servers>
    		<Server>
    			<Name>USWest</Name>
    			<DNS>54.241.208.233</DNS>
    			<Lat>37.34</Lat>
    			<Long>-121.89</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>USMidWest</Name>
    			<DNS>54.80.67.112</DNS>
    			<Lat>38.63</Lat>
    			<Long>-90.20</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>EUWest</Name>
    			<DNS>54.195.57.43</DNS>
    			<Lat>53.48</Lat>
    			<Long>-2.23</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>USEast</Name>
    			<DNS>54.224.68.81</DNS>
    			<Lat>42.36</Lat>
    			<Long>-71.06</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>AsiaSouthEast</Name>
    			<DNS>54.255.15.39</DNS>
    			<Lat>1.35</Lat>
    			<Long>103.82</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>USSouth</Name>
    			<DNS>23.22.180.212</DNS>
    			<Lat>35.23</Lat>
    			<Long>-80.84</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>USSouthWest</Name>
    			<DNS>54.219.44.205</DNS>
    			<Lat>32.80</Lat>
    			<Long>-96.77</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>EUEast</Name>
    			<DNS>46.137.30.179</DNS>
    			<Lat>54.69</Lat>
    			<Long>25.28</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>EUNorth</Name>
    			<DNS>54.195.96.152</DNS>
    			<Lat>59.33</Lat>
    			<Long>18.06</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>EUSouthWest</Name>
    			<DNS>54.217.63.70</DNS>
    			<Lat>48.86</Lat>
    			<Long>2.35</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>USEast3</Name>
    			<DNS>54.226.214.216</DNS>
    			<Lat>39.95</Lat>
    			<Long>-75.16</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>USWest2</Name>
    			<DNS>54.193.168.4</DNS>
    			<Lat>36.75</Lat>
    			<Long>-119.77</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>USMidWest2</Name>
    			<DNS>50.17.143.165</DNS>
    			<Lat>41.88</Lat>
    			<Long>-87.63</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>USEast2</Name>
    			<DNS>54.204.50.57</DNS>
    			<Lat>42.89</Lat>
    			<Long>-78.88</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>USNorthWest</Name>
    			<DNS>50.18.24.120</DNS>
    			<Lat>42.33</Lat>
    			<Long>-122.88</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>AsiaEast</Name>
    			<DNS>175.41.201.80</DNS>
    			<Lat>25.09</Lat>
    			<Long>121.56</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>USSouth3</Name>
    			<DNS>54.80.250.47</DNS>
    			<Lat>-30.03</Lat>
    			<Long>-51.23</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>EUNorth2</Name>
    			<DNS>54.216.200.98</DNS>
    			<Lat>54.32</Lat>
    			<Long>10.12</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>EUWest2</Name>
    			<DNS>54.216.27.65</DNS>
    			<Lat>51.51</Lat>
    			<Long>-0.13</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>EUSouth</Name>
    			<DNS>54.195.179.215</DNS>
    			<Lat>53.00</Lat>
    			<Long>-8.00</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>USSouth2</Name>
    			<DNS>50.19.7.133</DNS>
    			<Lat>100.00</Lat>
    			<Long>100.00</Long>
    			<Usage>0.00</Usage>
    		</Server>
    		<Server>
    			<Name>USWest3</Name>
    			<DNS>54.241.223.240</DNS>
    			<Lat>37.76</Lat>
    			<Long>-121.95</Long>
    			<Usage>0.00</Usage>
    		</Server>
    	</Servers>
    With enough find and replaces I got it to this
    Code:
    USWest 54.241.208.233
    USMidWest 54.80.67.112
    EUWest 54.195.57.43
    USEast 54.224.68.81
    AsiaSouthEast 54.255.15.39
    USSouth 23.22.180.212
    USSouthWest 54.219.44.205
    EUEast 46.137.30.179
    EUNorth 54.195.96.152
    EUSouthWest 54.217.63.70
    USEast3 54.226.214.216
    USWest2 54.193.168.4
    USMidWest2 50.17.143.165
    USEast2 54.204.50.57
    USNorthWest 50.18.24.120
    AsiaEast 175.41.201.80
    USSouth3 54.80.250.47
    EUNorth2 54.216.200.98
    EUWest2 54.216.27.65
    EUSouth 54.195.179.215
    USSouth2 50.19.7.133
    USWest3 54.241.223.240
    Then search for: (\w+) (\d+\.\d+\.\d+\.\d+) and replace with: "$1": "$2", and you get it formatted like connection.js style. I had to manually replace USWest with usw to get the final result:

    Code:
    	"usw": "54.241.208.233",
    	"usmw": "54.80.67.112",
    	"euw": "54.195.57.43",
    	"use": "54.224.68.81",
    	"ase": "54.255.15.39",
    	"uss": "23.22.180.212",
    	"ussw": "54.219.44.205",
    	"eue": "46.137.30.179",
    	"eun": "54.195.96.152",
    	"eusw": "54.217.63.70",
    	"use3": "54.226.214.216",
    	"usw2": "54.193.168.4",
    	"usmw2": "50.17.143.165",
    	"use2": "54.204.50.57",
    	"usnw": "50.18.24.120",
    	"ae": "175.41.201.80",
    	"uss3": "54.80.250.47",
    	"eun2": "54.216.200.98",
    	"euw2": "54.216.27.65",
    	"eus": "54.195.179.215",
    	"uss2": "50.19.7.133",
    	"usw3": "54.241.223.240",
    My Vouches
    Having an issue with RotMG? Check for the solution here.


    Need Realm items? Come to RealmStock!

    Accepting PayPal - Bitcoin - Giftcards
    Selling ST Sets, Class Top Sets, Life Pots, and much more!


    Find it here: MPGH Sales Thread

  12. The Following 2 Users Say Thank You to 059 For This Useful Post:

    fuzzayboy (03-21-2014),harsh1412 (03-23-2014)

  13. #11
    Dante-sama's Avatar
    Join Date
    Jun 2012
    Gender
    male
    Location
    Pandemonium
    Posts
    108
    Reputation
    15
    Thanks
    12
    My Mood
    Devilish
    [IMG]https://i1088.photobucke*****m/albums/i334/MrDante-sama/error.jpg[/IMG]

    O.o? Any help please?
    Attached Thumbnails Attached Thumbnails
    error.jpg  

    If i helped you press "THANKS"

    ¤»ÐλNξ¤SλM뫤


Similar Threads

  1. [Help Request] Connecting gameguard update server has failed!!
    By LambOfJesus in forum WarRock Help
    Replies: 5
    Last Post: 08-23-2013, 08:09 PM
  2. [Help Request] Java Script Read Timed out, Clock Spam, Unable to Connect to minecraft.exe
    By [=Evl=] in forum Minecraft Help
    Replies: 16
    Last Post: 01-24-2012, 09:08 PM
  3. alteriwnet 1.3.37a update connecting with friennds
    By camrko in forum Call of Duty Modern Warfare 2 Help
    Replies: 1
    Last Post: 07-11-2010, 10:46 PM
  4. fucking java update....
    By Dested in forum General
    Replies: 2
    Last Post: 10-09-2009, 05:35 PM
  5. FINAL CONNECTION POST UPDATE!!! COMBAT ARMS IS CLOSING DOWN!!!
    By dynehima in forum Combat Arms Hacks & Cheats
    Replies: 19
    Last Post: 07-29-2009, 01:21 PM