Server launch process and connect to localhost

Hi,

I’m setting up secure websockets on a gamelift instance running a Unity headless linux build. Since Unity’s WSS implementation is poor I’m using RocketSockets which is a seperate process running alongside of the game process. The idea is that the game connects to that process via TCP at 127.0.0.1 and some port I pick. Then clients connect to the WSS port RocketSocket opens, and it communicates with the game over the local connection.

However, It can’t seem to connect to 127.0.0.1 on a gamelift instance.
Is this possible? I’ve made sure the relevant ports are open and entered 0.0.0.0/0 for IP Range.

Also, I’m starting the RocketSockets process form within the game itself upon launch. This seems to work but I can image this is not what GameLift was designed to do. Is there any harm in running a seperate process on the instance that GameLift doesn’t know of?

Thanks

You should be able to launch sub-processes etc. The important thing is that the process that GameLift launches must be the process that checks in via InitSDK.

You should be able to confirm some of this via GameLift local (although some of the launch part is basically mocked out) but you can ensure that the communication works as expected.

I would also recommend calling create-fleet with the ssh port open for GameLift instances. If you are seeing instances failing to activate, you can still remote in and see whats going on (check logs, try manual launch etc)

You may need to investigate what open ports you have to connect with. The GameLift onbox process manager and the SDK use fixed localhost ports to communicate with (off the top of my head I don’t remember which ones they are, but a simple port scan should reveal them)