FakeFishGames / Barotrauma

A 2D online multiplayer game taking place in a submarine travelling through the icy depths of Jupiter's moon Europa.
http://www.barotraumagame.com/
1.76k stars 406 forks source link

new dedicated server fails to launch - linux #11553

Open aslink87 opened 1 year ago

aslink87 commented 1 year ago

Disclaimers

What happened?

followed instructions per Hosting_a_Dedicated_Server wiki to setup linux server on Ubuntu 22.04.

system exception occurred when running DedicatedServer script. 'InitGameServer returned false (0,18291,27015,27016,Authentication,"1.0.0.0")'

Reproduction steps

  1. Ubuntu 22.04
  2. Install game via SteamCMD
  3. steamcmd +login anonymous
  4. steamcmd +app_update 1026340 validate
  5. mkdir .local/share/Daedalic\ Entertainment\ GmbH/Barotrauma
  6. cd /home/${user}/Steam/steamapps/common/Barotrauma Dedicated Server
  7. run ./DedicatedServer

Bug prevalence

Happens every time I play

Version

v1.0.7.0

-

No response

Which operating system did you encounter this bug on?

Linux

Relevant error messages and crash reports

Barotrauma Dedicated Server crash report (generated on 03/15/2023 22:50:15)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             Barotrauma seems to have crashed. Sorry for the inconvenience!                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Game version 1.0.7.0 (ReleaseLinux, branch release/1.0, revision e1df60d5cc)                                                                                                                                            Language: English                                                                                                                                                                                                       Selected content packages: Vanilla                                                                                                                                                                                      Level seed: no level loaded                                                                                                                                                                                             Loaded submarine: None                                                                                                                                                                                                  Selected screen: None                                                                                                                                                                                                   Server (Round hadn't been started)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      System info:                                                                                                                                                                                                                Operating system: Unix 5.15.0.60 64 bit                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             Exception: InitGameServer returned false (0,18291,27015,27016,Authentication,"1.0.0.0") (System.Exception)                                                                                                              Target site: Void Init(Steamworks.AppId, Steamworks.SteamServerInit, Boolean)                                                                                                                                           Stack trace:                                                                                                                                                                                                               at Steamworks.SteamServer.Init(AppId appid, SteamServerInit init, Boolean asyncCallbacks) in <DEV>\Libraries\Facepunch.Steamworks\SteamServer.cs:line 86                                                                at Barotrauma.Steam.SteamManager.CreateServer(GameServer server, Boolean isPublic) in <DEV>\Barotrauma\BarotraumaServer\ServerSource\Steam\SteamManager.cs:line 22                                                      at Barotrauma.Networking.GameServer.StartServer() in <DEV>\Barotrauma\BarotraumaServer\ServerSource\Networking\GameServer.cs:line 189                                                                                   at Barotrauma.GameMain.StartServer() in <DEV>\Barotrauma\BarotraumaServer\ServerSource\GameMain.cs:line 244                                                                                                             at Barotrauma.GameMain.Run() in <DEV>\Barotrauma\BarotraumaServer\ServerSource\GameMain.cs:line 297                                                                                                                     at Barotrauma.Program.Main(String[] args) in <DEV>\Barotrauma\BarotraumaServer\ServerSource\Program.cs:line 78                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       Last debug messages:                                                                                                                                                                                                       03/15/2023 22:50:15 - [03/15/2023 22:50:15]                                                                                                                                                                            Saving banlist                                                                                                                                                                                                           03/15/2023 22:50:15 - [03/15/2023 22:50:15]                                                                                                                                                                            Using Lidgren networking. Manual port forwarding may be required. If players cannot connect to the server, you may want to use the in-game hosting menu (which uses SteamP2P networking and does not require port forwarding).                                                                                                                                                                                                                   03/15/2023 22:50:15 - [03/15/2023 22:50:15]                                                                                                                                                                            Starting the server...                                                                                                                                                                                                   03/15/2023 22:50:15 - Selected shuttle: Hemulen
aslink87 commented 1 year ago

For more context - 1) firewall allows UDP on 27015-27016 per settings.xml, and 2) other than the log file the stack trace includes a few odd debug messages, not sure if they are just placeholders. At any rate it mentions these windows file paths which may be relevant since this is a linux machine and the game was installed anonymously via steamcmd: System.Exception: InitGameServer returned false (0,51366,27015,27016,Authentication,"1.0.0.0") at Steamworks.SteamServer.Init(AppId appid, SteamServerInit init, Boolean asyncCallbacks) in C:\Users\joona\Documents\Barotrauma-development\Libraries\Facepunch.Steamworks\SteamServer.cs:line 86 at Barotrauma.Steam.SteamManager.CreateServer(GameServer server, Boolean isPublic) in C:\Users\joona\Documents\Barotrauma-development\Barotrauma\BarotraumaServer\ServerSource\Steam\SteamManager.cs:line 22 at Barotrauma.Networking.GameServer.StartServer() in C:\Users\joona\Documents\Barotrauma-development\Barotrauma\BarotraumaServer\ServerSource\Networking\GameServer.cs:line 189 at Barotrauma.GameMain.StartServer() in C:\Users\joona\Documents\Barotrauma-development\Barotrauma\BarotraumaServer\ServerSource\GameMain.cs:line 244 at Barotrauma.GameMain.Run() in C:\Users\joona\Documents\Barotrauma-development\Barotrauma\BarotraumaServer\ServerSource\GameMain.cs:line 297 at Barotrauma.Program.Main(String[] args) in C:\Users\joona\Documents\Barotrauma-development\Barotrauma\BarotraumaServer\ServerSource\Program.cs:line 78

cthulhu-rlyeh commented 1 year ago

Grab it from here instead: http://security.ubuntu.com/ubuntu/pool/main/o/openssl1.0/libssl1.0.0_1.0.2n-1ubuntu5.11_amd64.deb

Also your log shows your xml file is malformed. Try deleting it and letting it generate a fresh one.

See your log at this line: 03/16/2023 19:03:30 - Couldn't load xml document "serversettings.xml"! {'DonkeyPornEmporium' is an unexpected token. The expected token is '"' or '''. Line 3, position 8.}

zackinfradev commented 1 year ago

I have a nearly identical servercrashreport.log running Ubuntu 20.04 with the exception of the XML file issue, which issue I've not had.

I previously read through this issues post and the Dedicated Server wiki and assumed the SSL would not affect me since I opted to instance an Ubuntu 20.04 server but being skeptical I decided to get the SSL package regardless since I've no idea what else to make of the crash log.

I used the package at http://security.ubuntu.com/ubuntu/pool/main/o/openssl1.0/libssl1.0.0_1.0.2n-1ubuntu5.11_amd64.deb and ran dpkg -i libssl1.0.0_1.0.2n-1ubuntu5.11_amd64.deb

My open 'ssl version' reports

OpenSSL 1.1.1f  31 Mar 2020

and dpkg -s libssl1.0.0 reports

Package: libssl1.0.0
Status: install ok installed
Priority: important
Section: libs
Installed-Size: 3419
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Multi-Arch: same
Source: openssl1.0
Version: 1.0.2n-1ubuntu5.11
Depends: libc6 (>= 2.14), debconf (>= 0.5) | debconf-2.0
Description: Secure Sockets Layer toolkit - shared libraries
 This package is part of the OpenSSL project's implementation of the SSL
 and TLS cryptographic protocols for secure communication over the
 Internet.
 .
 It provides the libssl and libcrypto shared libraries.
Homepage: https://www.openssl.org
Original-Maintainer: Debian OpenSSL Team <pkg-openssl-devel@lists.alioth.debian.org>

My servercrashreport.log reports

Barotrauma Dedicated Server crash report (generated on 03/19/2023 22:16:11)

Barotrauma seems to have crashed. Sorry for the inconvenience!

Game version 1.0.8.0 (ReleaseLinux, branch release/1.0-hotfix, revision 08ecc207eb)
Language: English
Selected content packages: Vanilla
Level seed: no level loaded
Loaded submarine: None
Selected screen: None
Server (Round hadn't been started)

System info:
    Operating system: Unix 5.4.0.144 64 bit

Exception: InitGameServer returned false (0,32670,27015,27016,Authentication,"1.0.0.0") (System.Exception)
Target site: Void Init(Steamworks.AppId, Steamworks.SteamServerInit, Boolean)
Stack trace:
   at Steamworks.SteamServer.Init(AppId appid, SteamServerInit init, Boolean asyncCallbacks) in <DEV>\Libraries\Facepunch.Steamworks\SteamServer.cs:line 86
   at Barotrauma.Steam.SteamManager.CreateServer(GameServer server, Boolean isPublic) in <DEV>\Barotrauma\BarotraumaServer\ServerSource\Steam\SteamManager.cs:line 22
   at Barotrauma.Networking.GameServer.StartServer() in <DEV>\Barotrauma\BarotraumaServer\ServerSource\Networking\GameServer.cs:line 189
   at Barotrauma.GameMain.StartServer() in <DEV>\Barotrauma\BarotraumaServer\ServerSource\GameMain.cs:line 244
   at Barotrauma.GameMain.Run() in <DEV>\Barotrauma\BarotraumaServer\ServerSource\GameMain.cs:line 297
   at Barotrauma.Program.Main(String[] args) in <DEV>\Barotrauma\BarotraumaServer\ServerSource\Program.cs:line 78

Last debug messages:
   03/19/2023 22:16:11 - [03/19/2023 22:16:11]
  Saving banlist
   03/19/2023 22:16:11 - [03/19/2023 22:16:11]
  Using Lidgren networking. Manual port forwarding may be required. If players cannot connect to the server, you may want to use the in-game hosting menu (which uses SteamP2P networking and does not require port forwarding).
   03/19/2023 22:16:11 - [03/19/2023 22:16:11]
  Starting the server...
   03/19/2023 22:16:11 - Selected shuttle: Hemulen
aslink87 commented 1 year ago

@LeVernicus This is the exact issue I'm having. same libssl status and crash report.

Have you had any luck? I verified port 27015-27016/udp are both open in ufw and forwarded from my router, as I thought maybe the game server wasn't registering properly... but still no luck.

delizin commented 1 year ago

I did manage to get my server working on Ubuntu 22.04. I'm not sure of the exact fix steps, but I think it is along the lines of this:

Install LibSSL 1.0.0-1.0.2n: wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl1.0/libssl1.0.0_1.0.2n-1ubuntu5.11_amd64.deb && dpkg -i libssl1.0.0_1.0.2n-1ubuntu5.11_amd64.deb

Copy or Create a Symbolic Link for steamclient.so file in the following path: /home/{YOUR USERNAME}/.steam/sdk64/steamclient.so

aslink87 commented 1 year ago

I just got mine working by exporting LD_LIBRARY_PATH to ./linux64 as commented on by ironic-and-dead in issue #1987

I simply added a start.sh script with the following:

#!/bin/sh 
export LD_LIBRARY_PATH=./linux64:$LD_LIBRARY_PATH  
export SteamAppID=1026340
echo "Starting server PRESS CTRL-C to exit"  
./DedicatedServer

It would be nice to get some clarity as to what this variable is. Even with this resulting in a running game server, there's still an issue that it fails to list on the public server list. So this seems to be a workaround and not a solution.

zackinfradev commented 1 year ago

Your solution did work for me. Awesome! Now as @aslink87 mentioned it sounds like this is mostly just a workaround as mine is not being listed publicly either. Although my friend did note that they are able to 'favorite' the server after they Direct Join.

scy4008823823 commented 1 year ago

@aslink87 Thank you so much for your solution! I've been searching for this crash issue for several days. My server also runs Ubuntu 22.04, and it will have the same crash report above.