theCapypara / GMnet-ENGINE

A multiplayer/networking engine for Game Maker Studio
https://gmnet-engine.org/
Other
77 stars 21 forks source link

Troubles with Online Lobby in Demo Platformer Game #91

Open danilamaster opened 3 years ago

danilamaster commented 3 years ago

Try to launch Demo Project and implement online lobby with GMnet Punch.

My config: self.gmversionpick=1; and uncomment string 58 in https://github.com/Parakoopa/GMnet-ENGINE/blob/master/GMnetENGINE.gmx/scripts/htme_serverStart.gml self.use_udphp = true; self.udphp_master_ip = my dedicated server IP self.gamename = my game name string all other are defaults

Successfully set up dedicated server on Digitalocean. This is status of 6510 port on dedicated server

netstat -tulnp | grep 6510 tcp6 0 0 :::6510 ::: LISTEN 101005/java udp6 0 0 :::6510 ::: 101005/java

When I start game server in game menu with N-key dedicated server cosole always responce with 2 lines Register UDP Server with port 6510 and TCP server with random port for example 1/30/21, 11:42 AM : 37.XXX.XX.193:6510 - UDP - Server registered! 1/30/21, 11:42 AM : 37.XXX.XX.193:63967 | TCP | Server registered! or 1/30/21, 11:23 AM : 37.XXX.XX.193:6510 - UDP - Server registered! 1/30/21, 11:23 AM : 37.XXX.XX.193:63175 | TCP | Server registered!

Server version of the demo game display debug overlay and info about synced player

Now when I open online lobby game it successfully display server data on first slot of lobby list When I mouse click on it dedicated server responce 3 lines 1/30/21, 11:42 AM : 37.XXX.XX.193:56811 - UDP - Client registered! 1/30/21, 11:42 AM : 37.XXX.XX.193:63980 | TCP | Client <-> 37.113.90.193 -> Connecting... 1/30/21, 11:42 AM : 37.XXX.XX.193:63980 | TCP | Client <-> 37.113.90.193 -> CONNECTED! I suggest all ports are my local ports as a client They are always different from connection to connection for example 1/30/21, 11:47 AM : 37.XXX.XX.193:65170 - UDP - Client registered! 1/30/21, 11:47 AM : 37.XXX.XX.193:64146 | TCP | Client <-> 37.113.90.193 -> Connecting... 1/30/21, 11:47 AM : 37.XXX.XX.193:64146 | TCP | Client <-> 37.113.90.193 -> CONNECTED!

After that I hope client and server will establish connection but this is not happen. Client just restart game and go to main menu.

Some log messages from GMS2 IDE

MULTIPLAYER ENGINE [335|15:17:2] htme_init - INFO - SETTING UP GMnet CORE MULTIPLAYER ENGINE [335|15:17:2] htme_init - INFO - Starting GMnet PUNCH... MULTIPLAYER ENGINE [5179|15:17:7] htme_serverStart - INFO - SERVER STARTED Created RPC ============ udphp_serverNetworking ============ BUFFER SIZE:20 TELL:1

MULTIPLAYER ENGINE [34170|15:4:32] htme_clientCheckConnection - ERROR - CLIENT: PING FAILED! Closing client! MULTIPLAYER ENGINE [34170|15:4:32] htme_clientStop - WARNING - STOPPING CLIENT Connection with server failed, it may be full! MULTIPLAYER ENGINE [34170|15:4:32] htme_clientStop - WARNING - STOPPING CLIENT MULTIPLAYER ENGINE [34203|15:4:32] htme_init - INFO - SETTING UP GMnet CORE MULTIPLAYER ENGINE [34203|15:4:32] htme_init - INFO - Starting GMnet PUNCH...

Looks like 6510 port did not responce on dedicated server and connection can't be established.

What I have to do to force demo game use online lobby?

DanBradbury commented 3 years ago

I'm in the same boat.. curious why this isn't working in htme_obj_waitforclient

///Check if client is connected
if (htme_clientIsConnected()) {
    room_goto(htme_rom_demo);
}
if (htme_clientConnectionFailed()) {
    htme_error_message_handler("Connection with server failed, it may be full!");
    htme_clientStop();
    room_goto(htme_rom_menu);
}

it never confirms that the clientIsConnected... so I'm wondering if the server java is actually working correctly.