Results 1 to 15 of 15

Thread: Cannot start Linux Dedicated server

  1. #1
    Refugee
    Join Date
    Jun 2019
    Location
    Michigan!
    Posts
    11
    Rep Power
    0

    Question Cannot start Linux Dedicated server

    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!

  2. #2
    Community Moderator SylenThunder's Avatar
    Join Date
    Oct 2014
    Location
    SE Michigan, out in the sticks.
    Posts
    8,164
    Rep Power
    1
    Could you put the full log in Pastebin?

  3. #3
    Refugee
    Join Date
    Jun 2019
    Location
    Michigan!
    Posts
    11
    Rep Power
    0
    Sure!

    https://pastebin.com/79wKC8KL

    I snipped off the repeating error at the bottom, but it will continue until you ctrl+c the server.

  4. #4
    Refugee
    Join Date
    Jun 2019
    Location
    Michigan!
    Posts
    11
    Rep Power
    0
    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 Wolfey; 06-08-2019 at 02:58 PM.

  5. #5
    Refugee
    Join Date
    Jun 2019
    Location
    Michigan!
    Posts
    11
    Rep Power
    0
    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.

  6. #6
    Community Moderator SylenThunder's Avatar
    Join Date
    Oct 2014
    Location
    SE Michigan, out in the sticks.
    Posts
    8,164
    Rep Power
    1
    Quote Originally Posted by Wolfey View Post
    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?

  7. #7
    Refugee
    Join Date
    Jun 2019
    Location
    Michigan!
    Posts
    11
    Rep Power
    0
    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"`"
    
    [email protected]
    
    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.

  8. #8
    Community Moderator SylenThunder's Avatar
    Join Date
    Oct 2014
    Location
    SE Michigan, out in the sticks.
    Posts
    8,164
    Rep Power
    1
    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.)

  9. #9
    Refugee
    Join Date
    Jun 2019
    Location
    Michigan!
    Posts
    11
    Rep Power
    0
    As a user. Running as root is bad voodoo.

  10. #10
    Community Moderator SylenThunder's Avatar
    Join Date
    Oct 2014
    Location
    SE Michigan, out in the sticks.
    Posts
    8,164
    Rep Power
    1
    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.

  11. #11
    Refugee
    Join Date
    Jun 2019
    Location
    Michigan!
    Posts
    11
    Rep Power
    0
    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.

  12. #12
    Community Moderator SylenThunder's Avatar
    Join Date
    Oct 2014
    Location
    SE Michigan, out in the sticks.
    Posts
    8,164
    Rep Power
    1
    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.

  13. #13
    Refugee
    Join Date
    Jun 2019
    Location
    Michigan!
    Posts
    11
    Rep Power
    0
    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"

  14. #14
    Community Moderator SylenThunder's Avatar
    Join Date
    Oct 2014
    Location
    SE Michigan, out in the sticks.
    Posts
    8,164
    Rep Power
    1
    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.

  15. #15
    Refugee
    Join Date
    Jun 2019
    Location
    Michigan!
    Posts
    11
    Rep Power
    0
    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!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •