Search Unity

Master Server?

Discussion in 'Multiplayer' started by ExDeaDguY, Sep 14, 2010.

  1. ExDeaDguY

    ExDeaDguY

    Joined:
    Aug 25, 2009
    Posts:
    503
    Can anyone tell me.. Does unitys built in master server still work?! Im trying to set up a game on the master server, And I just keep getting:

    Code (csharp):
    1.  
    2. Failed to connect to master server at 72.52.207.14:23456
    3.  

    Im not sure if its my PC or what.. so help me out. Heres my script to get data from the masterserver.

    Its pretty basic (Hope I did it all right)

    Code (csharp):
    1.  
    2. var displayServerList=false;
    3. var displayBeginning=true;
    4. var displayCreateServer=false;
    5. var GameName:String;
    6. var joiningGame=false;
    7. var creatingGame=false;
    8.  
    9. var connectTo:String;
    10. var connectPort:int;
    11. function Awake() {
    12.     MasterServer.RequestHostList("BombermanBattle");
    13.     DontDestroyOnLoad(this);
    14. }
    15. function OnLevelWasLoaded(){
    16.     if(joiningGame){
    17.         Network.Connect(connectTo,connectPort);
    18.     }
    19.     else if(creatingGame){
    20.         Network.InitializeServer(16,connectPort);
    21.         MasterServer.RegisterHost("BombermanBattle",GameName);
    22.     }
    23.     joiningGame=false;
    24.     creatingGame=false;
    25. }
    26. function OnGUI(){
    27.     if(displayBeginning){
    28.         if(GUI.Button(Rect(20,120,100,40),"Host Server")){
    29.             displayCreateServer=true;
    30.             displayServerList=false;
    31.             displayOptions=false;
    32.         }
    33.         if(GUI.Button(Rect(20,180,100,40),"Server List")){
    34.             displayCreateServer=false;
    35.             displayServerList=true;
    36.             displayOptions=false;
    37.         }
    38.         if(GUI.Button(Rect(20,240,100,40),"Options")){
    39.             displayCreateServer=false;
    40.             displayServerList=false;
    41.             displayOptions=true;
    42.         }
    43.     }
    44.     if(displayServerList){
    45.          GUI.Window(0, Rect(150,20,Screen.width-170,Screen.height-40),ServerListWindow, "Server List");
    46.     }
    47.     else if(displayCreateServer){
    48.         GUI.Window(1, Rect(150,20,Screen.width-170,Screen.height-40),ServerCreateWindow, "Create Server");
    49.     }
    50. }
    51.  
    52.  
    53.  
    54. function ServerListWindow (windowID : int) {
    55.     MasterServer.ClearHostList();
    56.     if(MasterServer.PollHostList().length != 0) {
    57.         var y=10;
    58.         var hostData: HostData[] = MasterServer.PollHostList();
    59.         for (var i:int=0; i<hostData.length; i++){
    60.             if(GUI.Button(Rect(5,y,200,20),hostData[i].gameName)){
    61.                 if(hostData[i].connectedPlayers<hostData[i].playerLimit){
    62.                     joiningGame=true;
    63.                     connectTo=""+hostData[i].ip;
    64.                     connectPort=hostData[i].port;
    65.                     CloseTitle();
    66.                     Application.LoadLevel(1);
    67.                 }
    68.             }
    69.             GUI.Label(Rect(225,y,50,20),hostData[i].connectedPlayers+"/"+hostData[i].playerLimit);
    70.             y+=30;
    71.         }
    72.     }
    73.     else{
    74.         GUI.Label(Rect(20,20,200,20),"Currently no availible servers!");
    75.     }
    76. }
    77.  
    78.  
    79. function ServerCreateWindow(windowID:int){
    80.     GUI.Label(Rect(Screen.width/2-150,20,100,30),"Game Name:");
    81.     GameName=GUI.TextField(Rect(Screen.width/2-200,40,200,20),GameName);
    82.     GUI.Label(Rect(5,100,50,30),"Port:");
    83.     connectPort=int.Parse(GUI.TextField(Rect(50,100,60,20),""+connectPort));
    84.     if(GUI.Button(Rect(Screen.width/2-200,300,200,50),"Create Game")){
    85.         if(GameName.length>3){
    86.             creatingGame=true;
    87.             CloseTitle();
    88.             Application.LoadLevel(1);
    89.         }
    90.     }
    91. }
    92.  
    93.  
    94. function CloseTitle(){
    95.     displayServerList=false;
    96.     displayBeginning=false;
    97.     displayCreateServer=false;
    98. }
    99.  


    Help? ^.^ thanks.
     
  2. absolutebreeze

    absolutebreeze

    Joined:
    Feb 7, 2009
    Posts:
    490
    Dos your firewall(and possibly router firewall) allow access through port 23456?

    Perhaps its being blocked.
     
  3. zumwalt

    zumwalt

    Joined:
    Apr 18, 2007
    Posts:
    2,287
    Try this as a test, TEMPORARY ONLY, this is my master server using the Unity 3 master server code running as a service, absolutely no long term guarantee:

    MasterServer IP: jbwgames.com
    Port: 23466
     
  4. ExDeaDguY

    ExDeaDguY

    Joined:
    Aug 25, 2009
    Posts:
    503
    Oh yeah, My router isn't letting that port through, But I though I'm connecting to the server. Not the server connecting to me. So assumed it would need to be free? >.<
     
  5. ExDeaDguY

    ExDeaDguY

    Joined:
    Aug 25, 2009
    Posts:
    503


    How Do I use that? I tried "Masterserver.ipAddress="http://www.jbwgames.com" But it just keeps saying "unable to connect to 255.255.255.255:23466 >.<



    Btw to the guy up top. port forwarding didnt work :(
     
  6. zumwalt

    zumwalt

    Joined:
    Apr 18, 2007
    Posts:
    2,287
    Code (csharp):
    1.  
    2. void Awake()
    3. {
    4.  DontDestroyOnLoad(this);
    5.  MasterServer.ipAddress = "jbwgames.com";
    6.  MasterServer.port = 23466;
    7. }
    8.  
     
  7. ExDeaDguY

    ExDeaDguY

    Joined:
    Aug 25, 2009
    Posts:
    503
    Yep did that.

    Failed to connect to master server at 255.255.255.255:23466

    Idk, Maybe Windows Vista is to gay to connect to a master server.. lol.
     
  8. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    that ip is definitely not a correct one and will not work
     
  9. absolutebreeze

    absolutebreeze

    Joined:
    Feb 7, 2009
    Posts:
    490
    try changing jbwgames.com for 74.208.12.115
     
  10. zumwalt

    zumwalt

    Joined:
    Apr 18, 2007
    Posts:
    2,287
    Any luck? or are you not on U3B7?
    Maybe I should have asked if you were on 2.6 instead...
     
  11. ExDeaDguY

    ExDeaDguY

    Joined:
    Aug 25, 2009
    Posts:
    503
    Yes Im on 2.6.


    Failed to connect to master server at 74.208.12.115:23466
    Failed to connect to master server at 74.208.12.115:23456
    Connected to master server at 91.123.198.89:12345



    I Got the 3rd IP from 2 posts below me. (some 1 else who was having some problem. So i assume its thier private server?) So appearantly I can connect to that one. What would be stopping me from connecting to the main one? and any other for that matter?

    Could it have something to do with natPunchthough or w.e its called. Or facilitator? Because idk what those are ad didnt set them up.


    Also: The one I connected to.. When I Register a game, then try to look at server list. Nothing is on there. idk whats happening :(


    EDIT: After looking into it further. when trying to register the host. It says..

    The connection request to master server at 91.123.198.89:12345 failed. Are you sure it can be connected to?

    Appearantly that one fails as well.


    Windows Vista:
    I've:
    Port forwarded.
    Allowed ports through firewall.
    Anything else I need to do?
     
  12. zumwalt

    zumwalt

    Joined:
    Apr 18, 2007
    Posts:
    2,287
    Another test bed server of mine, here, try this:
    This server is for Unity 2.x series
    Code (csharp):
    1.  
    2. using UnityEngine;
    3. using System.Collections;
    4.  
    5. public class NewBehaviourScript : MonoBehaviour {
    6.  
    7.     string masterip="74.208.78.243";
    8.     int masterport=23456;
    9.    
    10.     void Awake()
    11.     {
    12.         MasterServer.ipAddress = masterip;
    13.         MasterServer.port = masterport;
    14.         // Use NAT punchthrough if no public IP present
    15.         Network.useNat = !Network.HavePublicAddress();
    16.         Network.InitializeServer(32, 25002);
    17.         MasterServer.RegisterHost("MyUniqueGameType",
    18.         "JohnDoes game", "l33t game for all");
    19.     }
    20.    
    21.     // Use this for initialization
    22.     void Start () {
    23.         Debug.Log(Network.isServer);
    24.     }
    25.    
    26.     // Update is called once per frame
    27.     void Update () {
    28.        
    29.         MasterServer.RequestHostList("MyUniqueGameType");
    30.         if(MasterServer.PollHostList().Length != 0)
    31.         {
    32.             HostData[] data = MasterServer.PollHostList();
    33.             for(int i = 0; i < data.Length; i++)
    34.             {
    35.                 Debug.Log("Game Name: " + data[i].gameName);
    36.             }
    37.             MasterServer.ClearHostList();
    38.         }
    39.     }
    40. }
    41.  
    42.  
    Although you will want to actually optimize, I threw that together in 30 seconds.

    This server I have had up and running now for a year and of which the past 6 months I forgot that I still had the Unity Master Server running on it, I thought I disabled the service *shrugs* thats what I get for writing the service code myself. I had embedded into it plenty of troubleshooting items and triggers to restart in the event of a failure, go figure. Anyway, another "not guaranteed" and "use at your own risk" because at some point I will be yanking that 2.6 service code off that box, just not sure when at the moment.

    FWIW, 2.x wil NOT connect to 3.x master or network, they are incompatible, period. You have to talk 2.x to master 0.1.0 network code and 3.x to master 2.x network code
     
  13. susdorf

    susdorf

    Joined:
    May 29, 2009
    Posts:
    60
    Since yesterday morning I am not able to connect to the given Unity Master Server. It has nothing to do with my firewall settings.

    Code (csharp):
    1. The connection request to master server at 72.52.207.14:23456 failed. Are you sure it can be connected to?
    Using Unity 2.6
     
  14. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    The UT masterserver setup is not production ready neither is it known to have a high availability (out of my experience the nat facilitator is offline more commonly then online for example).

    Likely they don't support it as strongly as they used to cause the vast majority here is totally ignorant on the fact that it is for testing only, not for games you deploy to testers etc so the most optimal way to remind people is ensuring that it is that irregularily available that they don't want to use it.

    you must host your own masterserver combo for your game if you want to offer MP, at least if you want any kind of control and availability
     
  15. monjaldos

    monjaldos

    Joined:
    Feb 23, 2010
    Posts:
    4
    @susdorf idem

    I thought it was a problem coming from my LAN ports, now it seems they are moving their Masterserver into Unity 3 Network technology... :eek:

    Is there any public Unity 2.6 Masterserver available yet?

    Thanks.
     
  16. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    DimeRocker has one
     
  17. susdorf

    susdorf

    Joined:
    May 29, 2009
    Posts:
    60
    Thanks dreamora for answering, I was rather counting on that it would continue working until Unity 3.0 has been released officially. Now we have to hurry with the updates...
     
  18. monjaldos

    monjaldos

    Joined:
    Feb 23, 2010
    Posts:
    4
    @draemora

    you are right, but keep in mind that not every unity developer can run dedicated server, hopefully we can use no-ip at least for testing.

    Here is the UT Masterserver wrapped for Windows users (no visual studio required)

    http://klaus.com.ar/upload/MasterServerWrapper.zip

    thanks
     
  19. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    Yes everyone can.
    UT offers the whole package in source form so you can deploy it to your dedicated server and run it.
    Please don't use "not every developer can" as an excuse and replacement for "most just don't want to pay for it but get it all", thats just lame

    if $500 a year is too much your project won't go anywhere anyway, so you shouldn't have to worry about uptime though
     
  20. monjaldos

    monjaldos

    Joined:
    Feb 23, 2010
    Posts:
    4
    @dreamora Once again, you are right.

    I forgot Unity Technologies are NOT open source!

    Popes from the "first world" keep on saying

    "If you want it, pay for it."

    thanks
     
  21. susdorf

    susdorf

    Joined:
    May 29, 2009
    Posts:
    60
  22. zumwalt

    zumwalt

    Joined:
    Apr 18, 2007
    Posts:
    2,287
    Both of the servers that I have listed in this thread for Uv2.x and for Uv3.x master base are running on vps box's, the Uv2.x is on a VPS2 with only 1 gig dedicated memory and the v3.x is running on 2 gig dedicated memory from 1AND1 which is available through my link in my signature. I had converted the masterserver.cpp file and header file to support running as a service, and I set those services on failure to restart. They just chug along, day after day, week after week. The Uv2.x is running with logging enabled, the Uv3.x is running without logging and in release mode, not debug mode, so the Uv3.x is probably final release mode unless anything drastic happens to the master code when U3 is released.

    I am with dreamora on this, under no circumstances think for a second that Unity is going to supply you with a master server for free, they are not into the hosting business, and the liability on that would be simply stupid to think about. The master code is simple C++ anyway, it really doesn't do much, RakNet does all the work, and the MasterServer is really a lobby system broken down to a simple server list and counters, it is a gateway only, and frankly, the old master server didn't support MasterServer.ipAddress = "somename.com";, but the new one has translation, so at least with U3 you will be able to use a NO-IP system and just use your domain and if your IP switches, who really cares, it will have the new IP over time, but who on earth would use a NO-IP system anyway? You NEED a dedicated ip with a dedicated domain name otherwise you will have outages, who wants to plan for that crap in the game? Not me.
     
  23. monjaldos

    monjaldos

    Joined:
    Feb 23, 2010
    Posts:
    4
    @zumwait I respect your opinion just as dreamore, nevertheless your opinion results non-impartial because your signature says you are in the hosting business.:?

    Anyway, I would not go any further on this topic since it's on ecnonomics and cultural issues and perhaps not the right forum to debate this. :roll:

    Btw, I have my own materserver running on localhost and looking forward for a vhost!

    thanks again.

    This forum is great!
     
  24. zumwalt

    zumwalt

    Joined:
    Apr 18, 2007
    Posts:
    2,287
    *shrugs* I am not in the hosting business, I recommend what works, that is an affiliate link, and you can use them if you want through that link or on your own or you can use someone else. I spent years researching ISP's and paying for both dedicated and virtual systems, not days, nor hours, but years. People want to know what works and is best for the dollar as an independent developer and they simply are the best for that price range.

    If you read the forums for the past 3 years history on my posts, you would know I am not in the hosting business, this is not about economics nor is it about cultural differences, no clue where or how that came into play.

    I have given code for free (economics??) in this thread and given the IP and Port to use for testing for the OP, trying to help troubleshoot the problem of connection. Hopefully the OP was able to work through the problem and test his V2.6 code, whether he does it on my VPS or someone elses or local (which he could do right now with masterserver source).

    All that said, it is simple, very simple, the code provided is simply a test base code to see if he can connect to a master or not, and information on what systems I am using for that master. Both VPS's are < $60 USD a month, one is < $40 a month. How is that an economical block or a cultural block or discussion? I am not charging others to test against my VPS, so where does that fall in economics? *shrugs* I sometimes wonder where on earth some of these questions come from.

    So then back to the real question, with the code provided for the U2.x base, were you able to connect up and test your game?
     
  25. ExDeaDguY

    ExDeaDguY

    Joined:
    Aug 25, 2009
    Posts:
    503



    HEY! Wow this topic blew up! Lol. Anyways, Thanks!!

    Code (csharp):
    1.  
    2. Connected to master server at 74.208.78.243:23456
    3.  
    I wasn't aware that devs would need to host thier own master server. I though unity had a full time server for all the unity users :p. (I know that I was looking for a hand out! lol)

    Anyways, Awesome! I'm glad that I now know that its possible for me to connect to a master server, and just need to set up a master server. I had thought something was wrong with my pc ^.^.
     
  26. zumwalt

    zumwalt

    Joined:
    Apr 18, 2007
    Posts:
    2,287
    I am very glad you were able to connect and test your code. Yep, it is up to individuals to host their own master etc, I typically keep one up and running for others to test that can't afford their own server or are having issues.

    Although, mine like Unity's is not for production and is OK for testing, so do not expect it to be available for long term use.
     
  27. ExDeaDguY

    ExDeaDguY

    Joined:
    Aug 25, 2009
    Posts:
    503

    Lol. It seems I'm having more problems now. Basically: When I connect. All goes fine, When i registerhost IF im Initializing a server and the registering from a port I have blocked... everything goes fine, It connects to master server i guess and does what it needs (Although it never actually shows it added to my server list).

    BUT when i try to do so on a port I have forwarded and opened (Which is what i need to do for others to connect) I get failed to connect errors:


    Code (csharp):
    1.  
    2. Attempting to connect to master server at 74.208.78.243:23456
    3. The connection request to 72.52.207.14:50001 failed. Are you sure the server can be connected to?
    4. Could not connect to server: ConnectionFailed
    5. The connection request to master server at 74.208.78.243:23456 failed. Are you sure it can be connected to?
    6.  
    Im assuming the.. 72.52.207.14 is the facilitator? or? idk. im confused. lol.
     
  28. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    50001 is the connection tester. if that fails your server is no longer reachable, likely you did the port forward to the wrong place so its now talking to nirvana and thus logically does not get a response :)
     
  29. ExDeaDguY

    ExDeaDguY

    Joined:
    Aug 25, 2009
    Posts:
    503
    o_O Thats odd.. Lol. Not much I can do on my end to "Port forward" The option my router offer is.. a link that says port forward. From there it tells me to enter the port, and the # referenced to my comp. Im on .2, and I entered port 30000.

    Used that port to create the server. and. no go. Hm, Ill try another port maybe.
     
  30. zumwalt

    zumwalt

    Joined:
    Apr 18, 2007
    Posts:
    2,287
    Set the facilitator IP to that of the master:
    74.208.78.243

    Leave the port at 50001, see if it connects.

    Also, you need to move the code out of your update loop that I showed in the test for polling the master, you do not need to poll the master every update, you only need to poll the master for a list every 10 seconds max while you are at the game menu, then once you are in the game you do not need to poll the master at all, you are still polling the master every game loop.
     
  31. ExDeaDguY

    ExDeaDguY

    Joined:
    Aug 25, 2009
    Posts:
    503

    Nope that doesn't work :(. And yeah, I know. I fixed that. Have it updating in a fixed update now. Can you do me a favor? go here: https://dl.dropbox.com/u/6629353/BombermanClient.html create a server. and see if i can join? XD (This way ill know weather its my pc or what)
     
  32. ExDeaDguY

    ExDeaDguY

    Joined:
    Aug 25, 2009
    Posts:
    503
    Well, Someone just hosted a server. And I Joined it successfully. SO! I guess the code is fine. Must be my connection or whatever! Which is actually a good thing. Ill just try it on my other pc later and see what happens.
     
  33. ExDeaDguY

    ExDeaDguY

    Joined:
    Aug 25, 2009
    Posts:
    503
    Its def my router. 2 computers in my house that run on the same router: neither can host on the master server. Which is very weird. since I can host (without using the master server) and have people join perfectly fine.
     
  34. zumwalt

    zumwalt

    Joined:
    Apr 18, 2007
    Posts:
    2,287
    Remember, no two game servers can have the same name, so you want to add a random number at the end or something to make it unique. Something like

    Code (csharp):
    1.  
    2. gameName += Random.Range(0, 10000).ToString();
    3.  
     
  35. ExDeaDguY

    ExDeaDguY

    Joined:
    Aug 25, 2009
    Posts:
    503
    Oh I didnt know that :p.
     
  36. zumwalt

    zumwalt

    Joined:
    Apr 18, 2007
    Posts:
    2,287
    FYI cute and addicting game.
     
  37. ExDeaDguY

    ExDeaDguY

    Joined:
    Aug 25, 2009
    Posts:
    503
    Haha yeah I know! that was fun! I'm so happy for how smooth it runs client side!! lol. (yeah i know, server side looks a lil crappy, but as a client, it all looks smooth and can actually see everyone walking smoothly) :p.
     
  38. zumwalt

    zumwalt

    Joined:
    Apr 18, 2007
    Posts:
    2,287
    Actually, running as the server with 2 clients, it wasn't bad at all, although technically I should have died like 5 times during that one 3 player match. Make sure your only pinging the master when you need too, the fixed update still is more than you need. If you want, only ping the master on a server list query from your button event.

    Stats for the end result for the few rounds played over the course of 12 minutes:

    Messages in send buffer: SP:0 HP:0 MP:0 LP:0
    Messages sent: SP:438 HP:1 MP:0 LP:50
    Message data bytes sent: SP:3346 HP:5 MP:0 LP:50
    Message header bytes sent: SP:2521 HP:11 MP:0 LP:288
    Message total bytes sent: SP:5867 HP:16 MP:0 LP:338
    Bytes received: Ttl:21297 Good:21297 Bad:0
    Packets received: Ttl:695 Good:695 Bad:0
    Acks received: Ttl:1 Good:0 Dup:1
    Messages received: Total:510 Valid:510 Invalid:0 Dup:0
    Packetloss: 0.1%
    Packets sent: 687
    Acks sent: 209
    Acks in send buffer: 0
    Messages waiting for ack: 0
    Ack bytes sent: 1018
    Sent packets containing only acks: 0
    Sent packets w/only acks and resends: 1
    Reliable messages resent: 1
    Reliable message data bytes resent: 5
    Reliable message header bytes resent: 6
    Reliable message total bytes resent: 11
    Number of messages split: 0
    Number of messages unsplit: 489
    Message splits performed: 0
    Additional encryption bytes: 0
    Sequenced messages out of order: 0
    Sequenced messages in order: 0
    Ordered messages out of order: 0
    Ordered messages in of order: 71
    Split messages waiting for reassembly: 0
    Messages in internal output queue: 0
    Inst KBits per second: 0.1
    Elapsed time (sec): 750.7
    KBits per second sent: 0.1
    KBits per second received: 0.2
    Bandwith exceeded: 0
     
  39. ExDeaDguY

    ExDeaDguY

    Joined:
    Aug 25, 2009
    Posts:
    503
    ^.^ Well thanks for all your help! And Yeah: when the bombs go off, I have everything being done server side. So if the player is not in front of the explosion on the server, but is on the client. He wont die >.<, Which is a pain. I'm thinking of... Having death checks be done client side, and then have the client tell the server that he died. It will compromise security a little bit. But honestly.. this is just for fun and a fan game, so I doubt the small attention of people it gets would try hacking some packets. lol.
     
  40. zumwalt

    zumwalt

    Joined:
    Apr 18, 2007
    Posts:
    2,287
    I like the whole 2d look to it, is this 2.5D or actually using 2d?
     
  41. ExDeaDguY

    ExDeaDguY

    Joined:
    Aug 25, 2009
    Posts:
    503
    Actual 2d. ^.^, 2d sprites put onto a 1 face plane :p, ortho view using a simple sprite animation script i whipped together.

    I probably could of had everything feel a little smoother if i took more of a grid type 2d shot at it. But, I like the feel of 3d movement! lol.
     
  42. zumwalt

    zumwalt

    Joined:
    Apr 18, 2007
    Posts:
    2,287
    I am impressed, sorry for getting off topic, but that is sweet that you made it true 2d, especially adding the text to the characters and such, just plain sweet
     
  43. ExDeaDguY

    ExDeaDguY

    Joined:
    Aug 25, 2009
    Posts:
    503
    Lol! Thanks! I've actually already made this game. So I have a fair amount of experience in knowing what needs to be done and have all the sprites xD.

    I made it on a site called "byond.com". Its kind of like unity. But the networking is horrible. its basically a tile based engine that runs on like a "world" rpc. So basically if you move a player. (mob.x++) the player will be moved for everyone on the server. Its pretty low quality compared to unity! lol. Anyways, Check these pics out :p.








    I had it set up with.. publicly displayed achievements, unlock-ables (up to i think like 40 accessories). It was pretty cool. But eventually I stopped hosting it and moved on to unity :).




    Anyways: Im upgrading my routers firmware to see if that will allow me to connect to the master server properly. *Crosses Fingers*
     
  44. zumwalt

    zumwalt

    Joined:
    Apr 18, 2007
    Posts:
    2,287
    Good luck with that, I think the game is just too addicting for my own good.