Jump to content

Cannot start Linux Dedicated server


Wolfey

Recommended Posts

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:

 

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:

 

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:

 

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:

 

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!

Link to comment
Share on other sites

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.

 

[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.

Link to comment
Share on other sites

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.

 

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?

Link to comment
Share on other sites

Absolutely!

 

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

 

#!/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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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"

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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!

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...