Spidermonkey and Windows Azure


I’ve created a working ‘multiplayer’ game with the SpiderMonkey API.

But now I want to migrate my server away from my localhost and onto a Windows Azure VM.

I was wondering how I would go about this.

Thanks very much!

Well if the other server has the required ports open, then it is mostly just getting the server to start there.

Quick question, it should be OK to run a server that hasn’t been cleaned and built right?

That depends on what you’ve changed… not really a “server” question but a general Java + IDE question.

Hello everyone,

I’ve set up a VM on Azure and have JMonkeyEngine and Java installed on it.

I migrated the source code for my server to the VM and ran it (after opening ports w/no rules).

Then I started the server on the VM, and after that was running, started the game on my client - but the client doesn’t connect.

client = Network.connectToServer(GameGlobals.NAME, GameGlobals.VERSION, "", GameGlobals.TCP_PORT, GameGlobals.UDP_PORT);

The above is the code with a dummy IP address.

The TCP and UDP Ports on both the client and server are the same, and so are the versions and names.

Does anyone have any idea what might be wrong?

Can your client machine see the TCP and UDP ports as open from its perspective? At least the TCP port could be checked with nmap or by telnetting to it.

Also… what does this mean?

Hangs forever? Gives an error? What error? Do you have error listeners registered to see the error?

Uh, here’s what I got from the stacktrace:

It just keeps trying to connect but doesn’t connect.


java.net.ConnectException: Connection timed out: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at java.net.Socket.connect(Socket.java:528)
at java.net.Socket.<init>(Socket.java:425)
at java.net.Socket.<init>(Socket.java:241)
at com.jme3.network.kernel.tcp.SocketConnector.<init>(SocketConnector.java:65)
at com.jme3.network.Network.connectToServer(Network.java:165)
at game.AppMain.connectToServer(AppMain.java:244)
at game.AppMain.simpleInitApp(AppMain.java:111)
at com.jme3.app.SimpleApplication.initialize(SimpleApplication.java:226)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.initInThread(LwjglAbstractDisplay.java:130)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:207)
at java.lang.Thread.run(Thread.java:744)

For the benefit of future explorers, how?