Cannot start Linux Dedicated server

Status
Not open for further replies.

Wolfey

New member
Hi, I've been having some weird issues when trying to get my linux dedicated server going.

I've googled the issue, and it doesn't seem to be happening with anyone else.

When I start the server with "sh startserver.sh" it will start with, from the bash screen:

Code:
eac_server.so [x64] :: onload()
eac_server.so [x64] :: unload()
Then the server will stop.

I was able to fix that by using "sh startserver.sh -dedicated -nographics" (which was weird, since serverstart.sh includes those flags.)

When I do this, I get the following:

Code:
eac_server.so [x64] :: onload()
System.Net.Sockets.SocketOptionName 0x1b is not supported at ipv6 level
Then, once again the server will hang.

Higher up in the log file I see the full code for that sockets error, posted below:

Code:
2019-06-07T19:08:06 0.621 INF NET: Starting server protocols
[b]Bind exception: System.Net.Sockets.SocketException: Protocol option not supported
 at System.Net.Sockets.Socket.SetSocketOption (SocketOptionLevel optionLevel, SocketOptionName optionName, Boolean optionValue) [0x00000] in <filename unknown>:0 
 at LiteNetLib.NetSocket.BindSocket (System.Net.Sockets.Socket socket, System.Net.IPEndPoint ep, Boolean reuseAddress) [0x00000] in <filename unknown>:0 , errorCode: ProtocolOption
Something interesting about the second case, however, is that the log is being flooded with the following error, after it seems to parse through my serverconfig.xml:

Code:
NullReferenceException: Object reference not set to an instance of an object
 at GUIWindowManager.Update () [0x00000] in <filename unknown>:0 

(Filename:  Line: -1)
I won't spam that one, since it repeats every half second or so.

For giggles I tried to host the server with a GUI enabled (Inadvisable in a server environment, I know) and it gave the same issue.

Any help would be appreciated, guys!

 
Okay I think I fixed part of my issue, but I'd like to reply here in case anyone else is having similar issues.

I had set a "Worldname" in my serverconfig.xml, when a world did not exist yet.

I checked .config/unity3d/the fun pimps/player.log and that was the log file that told me that.

Code:
[steamworks.NET] Could not initialize GameServer
And the server hangs after that.

I have steamcmd already, but I didn't see any steam services that needed to run for a ubuntu server.

EDIT:

Steamnetworking is also disabled in the config.

 
Last edited by a moderator:
I was able to fix this by running the 64-bit version of the server, I was running 32 for debugging.

I think I should be good now? The default serverstart.sh doesn't seem to work.

 
I was able to fix this by running the 64-bit version of the server, I was running 32 for debugging.
I think I should be good now? The default serverstart.sh doesn't seem to work.
Hmm, it should. I use it on my test servers. (I use LGSM for the others.)

The log you gave shows running 64-bit version. It's got an error right away though.

Code:
2019-06-08T09:11:18 0.250 INF Command line arguments: ./7DaysToDieServer.x86_64 -logfile 7DaysToDieServer_Data/output_log__2019-06-08__09-11-16.txt -quit -batchmode -nographics -dedicated -dedicated -nographicsArgumentException: An element with the same key already exists in the dictionary.
 at System.Collections.Generic.Dictionary`2[system.String,System.String].Add (System.String key, System.String value) [0x00000] in <filename unknown>:0 
 at GameStartupHelper.ParseCommandLine (System.String[] args) [0x00000] in <filename unknown>:0 
 at GameManager.Awake () [0x00000] in <filename unknown>:0
Which is understandable because you have -dedicated twice.

Then it has a bind exception on one of the ports later, which could be a previous instance not fully shut down, or something else is already using a port you're trying to configure the server to use.

Can you upload your serverstart.sh so I can compare it to mine?

 
Absolutely!

For reference, if I don't have that second -dedicated in the server crashes at the command line.

Code:
#!/bin/sh
cd "`dirname "$0"`"

PARAMS=$@

CONFIGFILE="serverconfig.xml"
while test $# -gt 0
do
if [ `echo $1 | cut -c 1-12` = "-configfile=" ]; then
	CONFIGFILE=`echo $1 | cut -c 13-`
fi
shift
done

if [ "$CONFIGFILE" = "" ]; then
echo "No config file specified. Call this script like this:"
echo "  ./startserver.sh -configfile=serverconfig.xml"
exit
else
if [ -f "$CONFIGFILE" ]; then
	echo Using config file: $CONFIGFILE
else
	echo "Specified config file $CONFIGFILE does not exist."
	exit
fi
fi

export LD_LIBRARY_PATH=.
#export MALLOC_CHECK_=0

if [ "$(uname -m)" = "x86_64" ]; then
./7DaysToDieServer.x86_64 -logfile 7DaysToDieServer_Data/output_log__`date +%Y-%m-%d__%H-%M-%S`.txt -quit -batchmode -nographics -dedicated $PARAMS
else
./7DaysToDieServer.x86 -logfile 7DaysToDieServer_Data/output_log__`date +%Y-%m-%d__%H-%M-%S`.txt -quit -batchmode -nographics -dedicated $PARAMS
fi
Using the serverstart.sh shipped with the game.

We're up and running now, but might be helpful to understand what went wrong here.

 
Are you running as root, or as a user? I always run it as a user account. (Each of my instances has its own user account.)

 
Ok, that's really strange then. You're running 18.04 which is the same as me, and I haven't ever run into that.

 
I've manually installed mono on my system, but I could see from the logs that it was using the mono.dll's from the server data. (I even tried updating those for giggles.)

This whole thing was the reason why I posted, I was following every guide to a tee, but no luck. Kinda had to improvise. Maybe the startup script is broken? I have to use my own right now.

 
Yeah, I use custom scripts for my public servers. Still haven't had this much issue with the default script when I'm doing mod testing though.

I like Alloc's scripts, but they feel a bit dated atm. I use LGSM for most of my servers now.

 
I didn't like how hardcoded everything was. I didn't want to use the default username, and it was really hard to change every little thing.

I was really thinking I was missing some dependency but apparently not. Biggest other thing was changing the map name to "RWG"

 
That's why I like LGSM. It offers a LOT of customization in your setup, but is still pretty easy to use and configure. The monitoring tool with notifications is off the charts too. It is a little complex to grasp the first time around, but once you do it's pretty amazing. I'm even currently hosting a 16.4 server with it. (Had to edit their scripts a little bit to pull that off though.)

LOL, the RWG I never understood why they changed that. It's been a standard for almost 10 Alphas, but now they change it up to mess with all of us. I still screw that one up when writing configs.

 
Me either! It should work out of the box with an untouched config, haha.

I've never looked into LGSM, I kinda figured it would be easy enough to host servers on a linux server (easier than Windows, anyway). They look fun!

 
Status
Not open for further replies.
Back
Top