GameServerManagers / LinuxGSM

The command-line tool for quick, simple deployment and management of Linux dedicated game servers.
https://linuxgsm.com
MIT License
4.31k stars 820 forks source link

[Bug]: Core Keeper - Issue with network settings in start parameters #4639

Open Kylindrias opened 2 months ago

Kylindrias commented 2 months ago

User story

Wasn't able to connect to Core Keeper server on LAN with the default start parameters. Not sure if this issue affects others or just me.

Game

Core Keeper

Linux distro

Ubuntu 24.04, Ubuntu 22.04

Command

command: start

Further information

Had issues with Core Keeper on Ubuntu 22.04 server. Updated to 24.04.1 hoping that might resolve the issue, but it didn't.

When trying to connect to the dedicated server from LAN I kept getting a time out error.

I was however able to get the server running using the _launch.sh script, which led me to believe it must have something to do with the LGSM configuration.

After hours of struggling I compared the server logs to see if anything stood out.

I noticed in the LGSM log the following:

Line 40: Initializing Steamworks with AppID 1621690
Line 41: Steam server using game port: 1234 query port: 1235 address: 0.0.0.0

Compared to the working server log:

Line 40: Initializing Steamworks with AppID 1621690
Line 41: dlopen failed trying to load:

The line regarding port and IP address wasn't there.

I did further digging and also noticed this:

LGSM:

ECSManager: converting authoring data for the server world complete.
ECSManager: adding worlds to the update loop.
ECSManager: initializing worlds.
Simulation tick rate=20 Network tick rate=20
disable default variant system group for world ServerWorld
disable CompanionGameObjectUpdateTransformSystem for world ServerWorld
disable ParentSystem for world ServerWorld
Listening on ip:0.0.0.0:1234
ConvertAuthoringDataRoutine complete. Process was successful.
number prefabs 2342
timescale = 0
Started session with Game ID ********************************

_Launch.sh:

ECSManager: converting authoring data for the server world complete.
ECSManager: adding worlds to the update loop.
ECSManager: initializing worlds.
Simulation tick rate=20 Network tick rate=20
disable default variant system group for world ServerWorld
disable CompanionGameObjectUpdateTransformSystem for world ServerWorld
disable ParentSystem for world ServerWorld
Listening on SteamID userid:*********************
ConvertAuthoringDataRoutine complete. Process was successful.
number prefabs 2342
timescale = 0
Started session with Game ID *****************************

So in one case it says listening on SteamID and the other says listening on IP:Port.

Now, theroetically this shouldn't be an issue, and in fact during troubleshooting for a separate issue I tried a fresh install of Ubuntu 24.04 in VMWare and the LGSM Core Keeper server worked straight away without any issue or any changes in config, so it seems this bug may be limited to certain virtual network setups?

This same server also hosts Valheim and Minecraft Bedrock without any issues so it seems the server otherwise was fine.

To fix the issue I copied the _default.cfg to the common.cfg and then edited the following line:


## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters
startparameters="-batchmode -ip ${ip} -port ${port} -datapath ${servercfgdir} -logfile ${gamelog}"

I removed the reference to IP and Port so it looks like this now:

startparameters="-batchmode -datapath ${servercfgdir} -logfile ${gamelog}"

I also commented out the lines for IP and Port at the top of the config file.

After doing this I stopped the server, started again and straight away I had no issues joining. So solution seemed to be to remove the IP address from the launch parameters and just let the game use the default server settings.

There's nothing really exotic about my setup, just a guest Ubuntu server running on XCP-NG.

Relevant log output

No response

Steps to reproduce

Download Core Keeper server using LGSM scripts. Start Server Time Out when joining on LAN Remove IP parameters from launch script Join game without issue.

Kylindrias commented 2 months ago

As an update, I can now join the server and play, but the server seems to constantly crash or restart after playing for only 5 minutes, so appears there's still some other issues I need to narrow down.

Testing the _launch.sh file it seemed to run without crashing after just a few minutes, so again it seems something related to the LGSM startup script.