Dedicated server connection issues via LAN

t3hp0larbear

New member
I have a Dell PowerEdge R620 on a rack downstairs that I use for all sorts of stuff including a webserver that is accessible from the outside world. I'm running Ubuntu server on it and I've updated the 7 Days dedicated server to the latest version. My server and PC are all wired ethernet with no wireless bridges between them or anything.

First and foremost, I can't seem to connect via direct IP in my own subnet. The firewall (ufw) is active and I have these rules among my others:

Code:
sudo ufw allow 26900/tcp comment "7 Days to Die Server"
sudo ufw allow 26900:26903/udp comment "7 Days to Die Server"

To                         Action      From
--                         ------      ----
26900:26903/udp            ALLOW       Anywhere                   # 7 Days to Die Server
26900/tcp                  ALLOW       Anywhere                   # 7 Days to Die Server


On the first attempts I made to connect, the server would spit out a message saying "INF NET: Rejecting connection request from 192.168.0.201: Limiting connect rate from that IP!" once in the log. The client would attempt to connect but then just time out because LiteNetLib couldn't make a connection, and Steam networking was initially disabled on the server so that would time out too, with the "Couldn't get server information" message. When I set the server to public, it would appear in the server list and this time, when I attempted to connect,  I would see repeated entries like this in the server log:

Code:
2024-07-11T23:14:15 609.359 INF NET: LiteNetLib: Connect from: <my external IP address>:56908 / 0
2024-07-11T23:14:15 609.361 INF Started thread NCS_Reader_0_0
2024-07-11T23:14:15 609.361 INF Started thread NCS_Writer_0_0
2024-07-11T23:14:15 609.362 INF Started thread NCS_Reader_0_1
2024-07-11T23:14:15 609.362 INF Started thread NCS_Writer_0_1
2024-07-11T23:14:15 609.362 INF [NET] PlayerConnected EntityID=-1, PltfmId='Local_<none>', CrossId='<unknown/none>', OwnerID='<unknown/none>', PlayerName='', ClientNumber='6'
2024-07-11T23:14:20 614.407 INF NET: LiteNetLib: Client disconnect from: <my external IP address>:56908 / 0 (Timeout)
2024-07-11T23:14:20 614.408 INF NET: LiteNetLib: TimeSinceLastPacket: 5010
2024-07-11T23:14:20 614.443 INF NET: LiteNetLib: MT: Client disconnect from: <my external IP address>:56908 / 0 (Timeout)
2024-07-11T23:14:20 614.444 INF [NET] PlayerDisconnected EntityID=-1, PltfmId='Local_<none>', CrossId='<unknown/none>', OwnerID='<unknown/none>', PlayerName='', ClientNumber='6'
2024-07-11T23:14:20 614.444 WRN DynamicMusic: -1 was not in Bloodmoon state cache on disconnect
2024-07-11T23:14:20 614.444 INF Client disconnected from dy mesh: Id: -1 Total: 0
2024-07-11T23:14:20 614.444 INF Player disconnected: EntityID=-1, PltfmId='Local_<none>', CrossId='<unknown/none>', OwnerID='<unknown/none>', PlayerName='', ClientNumber='6'
2024-07-11T23:14:20 614.444 INF Exited thread NCS_Reader_0_1
2024-07-11T23:14:20 614.447 INF Exited thread NCS_Writer_0_0
2024-07-11T23:14:20 614.447 INF Exited thread NCS_Writer_0_1
2024-07-11T23:14:20 614.447 INF Exited thread NCS_Reader_0_0


Eventually I enabled Steam networking in my server settings, restarted, and this time connection would work, since Steam does its own thing to facilitate connections.

After this I tried connecting to my server again via my server's local IP address. This time I was getting repeated LiteNetLib attempts logged, which wasn't happening before.

Code:
2024-07-11T23:30:15 781.758 INF NET: LiteNetLib: Connect from: 192.168.0.201:54587 / 0
2024-07-11T23:30:15 781.759 INF Started thread NCS_Reader_0_0
2024-07-11T23:30:15 781.760 INF Started thread NCS_Writer_0_0
2024-07-11T23:30:15 781.760 INF Started thread NCS_Reader_0_1
2024-07-11T23:30:15 781.760 INF Started thread NCS_Writer_0_1
2024-07-11T23:30:15 781.760 INF [NET] PlayerConnected EntityID=-1, PltfmId='Local_<none>', CrossId='<unknown/none>', OwnerID='<unknown/none>', PlayerName='', ClientNumber='22'
2024-07-11T23:30:15 781.782 INF NET: LiteNetLib: Client disconnect from: 192.168.0.201:54587 / 0 (RemoteConnectionClose)
2024-07-11T23:30:15 781.787 INF NET: LiteNetLib: MT: Client disconnect from: 192.168.0.201:54587 / 0 (RemoteConnectionClose)
2024-07-11T23:30:15 781.787 INF [NET] PlayerDisconnected EntityID=-1, PltfmId='Local_<none>', CrossId='<unknown/none>', OwnerID='<unknown/none>', PlayerName='', ClientNumber='22'
2024-07-11T23:30:15 781.787 WRN DynamicMusic: -1 was not in Bloodmoon state cache on disconnect
2024-07-11T23:30:15 781.787 INF Client disconnected from dy mesh: Id: -1 Total: 0
2024-07-11T23:30:15 781.788 INF Player disconnected: EntityID=-1, PltfmId='Local_<none>', CrossId='<unknown/none>', OwnerID='<unknown/none>', PlayerName='', ClientNumber='22'
2024-07-11T23:30:15 781.788 INF Exited thread NCS_Writer_0_1
2024-07-11T23:30:15 781.788 INF Exited thread NCS_Reader_0_0
2024-07-11T23:30:15 781.788 INF Exited thread NCS_Reader_0_1
2024-07-11T23:30:15 781.788 INF Exited thread NCS_Writer_0_0


I'm stumped, and I'm not even at the level yet where port forwarding would come into play. Why is my server not receptive to straight TCP/IP connections via LiteNetLib?

 
Last edited by a moderator:
Dunno, but I have the same rules in ufw and can connect via local ip. So the issue is somewhere else in the network chain.

 
I experienced a similar issue.

Although the environment is different, my server is at home, and I have it set up to connect from outside via Cloudflare's Zero Trust.

I can join the game when connecting locally, but when trying to connect globally, the same error message appears, and I cannot connect.

Code:
2024-07-13T01:23:37 645.644 INF [NET] PlayerConnected EntityID=-1, PltfmId='Local_<none>', CrossId='<unknown/none>', OwnerID='<unknown/none>', PlayerName='', ClientNumber='4'
2024-07-13T01:23:37 645.644 INF Started thread NCS_Writer_0_1
2024-07-13T01:23:42 650.688 INF NET: LiteNetLib: Client disconnect from: <my external IP address>:48199 / 0 (Timeout)
2024-07-13T01:23:42 650.688 INF NET: LiteNetLib: TimeSinceLastPacket: 5010
2024-07-13T01:23:42 650.715 INF NET: LiteNetLib: MT: Client disconnect from: <my external IP address>:48199 / 0 (Timeout)
2024-07-13T01:23:42 650.715 INF [NET] PlayerDisconnected EntityID=-1, PltfmId='Local_<none>', CrossId='<unknown/none>', OwnerID='<unknown/none>', PlayerName='', ClientNumber='4'
2024-07-13T01:23:42 650.715 INF Client disconnected from dy mesh: Id: -1 Total: 0
2024-07-13T01:23:42 650.715 INF Player disconnected: EntityID=-1, PltfmId='Local_<none>', CrossId='<unknown/none>', OwnerID='<unknown/none>', PlayerName='', ClientNumber='4'
2024-07-13T01:23:42 650.715 INF Exited thread NCS_Reader_0_0
2024-07-13T01:23:42 650.716 INF Exited thread NCS_Writer_0_1
2024-07-13T01:23:42 650.716 INF Exited thread NCS_Writer_0_0
2024-07-13T01:23:42 650.716 INF Exited thread NCS_Reader_0_1




What caught my attention was the "ServerDisabledNetworkProtocols" parameter in sdtdserver.xml file.

By default, it is set to false, but reading the official explanation, it can be interpreted that it should be disabled when there is no NAT or port forwarding.

7_Days_to_Die_Dedicated_Server

So, I changed this value from the default (none) and restarted the server.

As a result, I was able to join the game globally, which I couldn't do before.

This is the log from that time.

Code:
2024-07-13T02:02:12 97.152 INF NET: LiteNetLib: Connect from: <my external IP address>:33491 / 0
2024-07-13T02:02:12 97.156 INF Started thread NCS_Reader_0_0
2024-07-13T02:02:12 97.157 INF Started thread NCS_Writer_0_0
2024-07-13T02:02:12 97.157 INF Started thread NCS_Reader_0_1
2024-07-13T02:02:12 97.158 INF Started thread NCS_Writer_0_1
2024-07-13T02:02:12 97.170 INF [NET] PlayerConnected EntityID=-1, PltfmId='Local_<none>', CrossId='<unknown/none>', OwnerID='<unknown/none>', PlayerName='', ClientNumber='1'
2024-07-13T02:02:17 102.196 INF NET: LiteNetLib: Client disconnect from: <my external IP address>:33491 / 0 (Timeout)
2024-07-13T02:02:17 102.196 INF NET: LiteNetLib: TimeSinceLastPacket: 5010
2024-07-13T02:02:18 102.232 WRN NET: LiteNetLib: Ping requested for unknown client EntityID=-1, PltfmId='Local_<none>', CrossId='<unknown/none>', OwnerID='<unknown/none>', PlayerName='', ClientNumber='1'
2024-07-13T02:02:18 102.232 INF NET: LiteNetLib: MT: Client disconnect from: <my external IP address>:33491 / 0 (Timeout)
2024-07-13T02:02:18 102.235 INF [NET] PlayerDisconnected EntityID=-1, PltfmId='Local_<none>', CrossId='<unknown/none>', OwnerID='<unknown/none>', PlayerName='', ClientNumber='1'
2024-07-13T02:02:18 102.236 WRN DynamicMusic: -1 was not in Bloodmoon state cache on disconnect
2024-07-13T02:02:18 102.236 INF Client disconnected from dy mesh: Id: -1 Total: 0
2024-07-13T02:02:18 102.237 INF Player disconnected: EntityID=-1, PltfmId='Local_<none>', CrossId='<unknown/none>', OwnerID='<unknown/none>', PlayerName='', ClientNumber='1'
2024-07-13T02:02:18 102.238 INF Exited thread NCS_Reader_0_0
2024-07-13T02:02:18 102.238 INF Exited thread NCS_Reader_0_1
2024-07-13T02:02:18 102.238 INF Exited thread NCS_Writer_0_1
2024-07-13T02:02:18 102.239 INF Exited thread NCS_Writer_0_0
2024-07-13T02:02:18 102.240 INF [EOS-ACS] FreeUser: EntityID=-1, PltfmId='Local_<none>', CrossId='<unknown/none>', OwnerID='<unknown/none>', PlayerName='', ClientNumber='1'
2024-07-13T02:02:18 102.240 ERR [EOS] [LogEOSAntiCheat - Error] [AntiCheatServer] [UnregisterClient-001] ClientHandle 0x1 not found.
2024-07-13T02:02:18 102.249 ERR [EOS-ACS] Failed unregistering user: InvalidParameters
2024-07-13T02:02:18 102.595 INF NET: LiteNetLib: Connect from: <my external IP address>:33491 / 0
2024-07-13T02:02:18 102.595 INF Started thread NCS_Reader_0_0
2024-07-13T02:02:18 102.595 INF Started thread NCS_Writer_0_0
2024-07-13T02:02:18 102.595 INF Started thread NCS_Reader_0_1
2024-07-13T02:02:18 102.596 INF Started thread NCS_Writer_0_1
2024-07-13T02:02:18 102.596 INF [NET] PlayerConnected EntityID=-1, PltfmId='Local_<none>', CrossId='<unknown/none>', OwnerID='<unknown/none>', PlayerName='', ClientNumber='2'
2024-07-13T02:02:19 103.582 INF [Steamworks.NET] NET: P2PSessionRequest from: 01234567890123456
2024-07-13T02:02:23 107.589 INF [Steamworks.NET] NET: Received authentication package from 01234567890123456: valid password
2024-07-13T02:02:23 107.591 INF Started thread NCSteam_Reader_Steam_01234567890123456_0
2024-07-13T02:02:23 107.591 INF Started thread NCSteam_Writer_Steam_01234567890123456_0
2024-07-13T02:02:23 107.592 INF Started thread NCSteam_Reader_Steam_01234567890123456_1
2024-07-13T02:02:23 107.593 INF Started thread NCSteam_Writer_Steam_01234567890123456_1
2024-07-13T02:02:23 107.593 INF [NET] PlayerConnected EntityID=-1, PltfmId='Steam_01234567890123456', CrossId='<unknown/none>', OwnerID='<unknown/none>', PlayerName='', ClientNumber='3'
2024-07-13T02:02:23 107.620 INF NET: LiteNetLib: Client disconnect from: <my external IP address>:33491 / 0 (Timeout)
2024-07-13T02:02:23 107.620 INF NET: LiteNetLib: TimeSinceLastPacket: 5010
2024-07-13T02:02:23 107.632 INF NET: LiteNetLib: MT: Client disconnect from: <my external IP address>:33491 / 0 (Timeout)
2024-07-13T02:02:23 107.632 INF [NET] PlayerDisconnected EntityID=-1, PltfmId='Local_<none>', CrossId='<unknown/none>', OwnerID='<unknown/none>', PlayerName='', ClientNumber='2'
2024-07-13T02:02:23 107.632 WRN DynamicMusic: -1 was not in Bloodmoon state cache on disconnect
2024-07-13T02:02:23 107.632 INF Client disconnected from dy mesh: Id: -1 Total: 0
2024-07-13T02:02:23 107.632 INF Player disconnected: EntityID=-1, PltfmId='Local_<none>', CrossId='<unknown/none>', OwnerID='<unknown/none>', PlayerName='', ClientNumber='2'
2024-07-13T02:02:23 107.632 INF Exited thread NCS_Reader_0_0
2024-07-13T02:02:23 107.632 INF Exited thread NCS_Reader_0_1
2024-07-13T02:02:23 107.632 INF [EOS-ACS] FreeUser: EntityID=-1, PltfmId='Local_<none>', CrossId='<unknown/none>', OwnerID='<unknown/none>', PlayerName='', ClientNumber='2'
2024-07-13T02:02:23 107.632 INF Exited thread NCS_Writer_0_0
2024-07-13T02:02:23 107.633 ERR [EOS] [LogEOSAntiCheat - Error] [AntiCheatServer] [UnregisterClient-001] ClientHandle 0x2 not found.
2024-07-13T02:02:23 107.633 INF Exited thread NCS_Writer_0_1
2024-07-13T02:02:23 107.633 ERR [EOS-ACS] Failed unregistering user: InvalidParameters
2024-07-13T02:02:23 107.691 INF NPPL.Read
2024-07-13T02:02:23 107.732 INF PlayerLogin: FugaPlayer/V 1.0
2024-07-13T02:02:23 107.733 INF Client IP: 192.168.50.12
2024-07-13T02:02:23 107.735 INF [Auth] PlayerName authorization successful: EntityID=-1, PltfmId='Steam_01234567890123456', CrossId='EOS_01234567890123456', OwnerID='<unknown/none>', PlayerName='FugaPlayer', ClientNumber='3'
2024-07-13T02:02:23 107.736 INF [Auth] ServerState authorization successful: EntityID=-1, PltfmId='Steam_01234567890123456', CrossId='EOS_01234567890123456', OwnerID='<unknown/none>', PlayerName='FugaPlayer', ClientNumber='3'
2024-07-13T02:02:23 107.736 INF [Auth] MpHostAllowed authorization successful: EntityID=-1, PltfmId='Steam_01234567890123456', CrossId='EOS_01234567890123456', OwnerID='<unknown/none>', PlayerName='FugaPlayer', ClientNumber='3'
2024-07-13T02:02:23 107.737 INF [Auth] PlayerId authorization successful: EntityID=-1, PltfmId='Steam_01234567890123456', CrossId='EOS_01234567890123456', OwnerID='<unknown/none>', PlayerName='FugaPlayer', ClientNumber='3'
2024-07-13T02:02:23 107.737 INF [Auth] DuplicateUserId authorization successful: EntityID=-1, PltfmId='Steam_01234567890123456', CrossId='EOS_01234567890123456', OwnerID='<unknown/none>', PlayerName='FugaPlayer', ClientNumber='3'
2024-07-13T02:02:23 107.738 INF [Auth] VersionCheck authorization successful: EntityID=-1, PltfmId='Steam_01234567890123456', CrossId='EOS_01234567890123456', OwnerID='<unknown/none>', PlayerName='FugaPlayer', ClientNumber='3'
2024-07-13T02:02:23 107.740 INF [Auth] PlayerSlots authorization successful: EntityID=-1, PltfmId='Steam_01234567890123456', CrossId='EOS_01234567890123456', OwnerID='<unknown/none>', PlayerName='FugaPlayer', ClientNumber='3'
2024-07-13T02:02:23 107.741 INF [Auth] LegacyModAuthorizations authorization successful: EntityID=-1, PltfmId='Steam_01234567890123456', CrossId='EOS_01234567890123456', OwnerID='<unknown/none>', PlayerName='FugaPlayer', ClientNumber='3'
2024-07-13T02:02:23 107.742 INF [Steamworks.NET] Auth.AuthenticateUser()
2024-07-13T02:02:23 107.752 INF [Steamworks.NET] Authenticating player: FugaPlayer SteamId: 01234567890123456 TicketLen: 1024 Result: k_EBeginAuthSessionResultOK
2024-07-13T02:02:25 109.292 INF [Steamworks.NET] Authentication callback. ID: 01234567890123456, owner: 01234567890123456, result: k_EAuthSessionResponseOK
2024-07-13T02:02:25 109.292 INF [Auth] PlatformAuth authorization successful: EntityID=-1, PltfmId='Steam_01234567890123456', CrossId='EOS_01234567890123456', OwnerID='Steam_01234567890123456', PlayerName='FugaPlayer', ClientNumber='3'
2024-07-13T02:02:25 109.293 INF [Auth] SteamFamily authorization successful: EntityID=-1, PltfmId='Steam_01234567890123456', CrossId='EOS_01234567890123456', OwnerID='Steam_01234567890123456', PlayerName='FugaPlayer', ClientNumber='3'
2024-07-13T02:02:25 109.294 INF [Auth] SteamGroups authorization successful: EntityID=-1, PltfmId='Steam_01234567890123456', CrossId='EOS_01234567890123456', OwnerID='Steam_01234567890123456', PlayerName='FugaPlayer', ClientNumber='3'
2024-07-13T02:02:25 109.296 INF [EOS] Verifying token for 0123456789012345
2024-07-13T02:02:26 110.253 INF [EOS] Device=, Platform=steam, AccType=Steam, AccId=01234567890123456, PUID=0123456789012345
2024-07-13T02:02:26 110.801 INF [EOS] Player may have active sanctions
2024-07-13T02:02:26 110.802 INF [EOS] SanctionsQuery finished with: 0 sanctions
2024-07-13T02:02:26 110.803 INF [Auth] CrossplatformAuth authorization successful: EntityID=-1, PltfmId='Steam_01234567890123456', CrossId='EOS_01234567890123456', OwnerID='Steam_01234567890123456', PlayerName='FugaPlayer', ClientNumber='3'
2024-07-13T02:02:26 110.805 INF [Auth] BansAndWhitelist authorization successful: EntityID=-1, PltfmId='Steam_01234567890123456', CrossId='EOS_01234567890123456', OwnerID='Steam_01234567890123456', PlayerName='FugaPlayer', ClientNumber='3'
2024-07-13T02:02:26 110.805 INF [Auth] Crossplay authorization successful: EntityID=-1, PltfmId='Steam_01234567890123456', CrossId='EOS_01234567890123456', OwnerID='Steam_01234567890123456', PlayerName='FugaPlayer', ClientNumber='3'
2024-07-13T02:02:26 110.806 INF [EOS-ACS] Registering user: EntityID=-1, PltfmId='Steam_01234567890123456', CrossId='EOS_01234567890123456', OwnerID='Steam_01234567890123456', PlayerName='FugaPlayer', ClientNumber='3'
2024-07-13T02:02:33 117.250 INF [Auth] EAC authorization successful: EntityID=-1, PltfmId='Steam_01234567890123456', CrossId='EOS_01234567890123456', OwnerID='Steam_01234567890123456', PlayerName='FugaPlayer', ClientNumber='3'
2024-07-13T02:02:33 117.299 INF [Auth] Finalizer authorization successful: EntityID=-1, PltfmId='Steam_01234567890123456', CrossId='EOS_01234567890123456', OwnerID='Steam_01234567890123456', PlayerName='FugaPlayer', ClientNumber='3'
2024-07-13T02:02:33 117.302 INF Allowing player with id EOS_01234567890123456


I don't think the issue is completely resolved since I don't fully understand the root cause, but I was able to join the game with this approach.

 
Dunno, but I have the same rules in ufw and can connect via local ip. So the issue is somewhere else in the network chain.


Rhetorically, I ask how and where because it's clear that the server machine and the server application are reachable - I'm remoted into the thing via SSH, I have Samba shares up that I can read from and write to from any (authed) device in the house, and in my logs I can see that a connection attempt is being made and received, but I guess something is wrong because it disconnects immediately. I'm not discounting this scenario entirely but it seems highly unlikely that something else on my network would be interfering with communications on that port. Hell, I've even switched the server to ports 27015-27018 and I'm getting the same results, except this time LiteNetLib log messages disappeared again.

I experienced a similar issue.

Although the environment is different, my server is at home, and I have it set up to connect from outside via Cloudflare's Zero Trust.

I can join the game when connecting locally, but when trying to connect globally, the same error message appears, and I cannot connect.

<snip>

What caught my attention was the "ServerDisabledNetworkProtocols" parameter in sdtdserver.xml file.

By default, it is set to false, but reading the official explanation, it can be interpreted that it should be disabled when there is no NAT or port forwarding.

7_Days_to_Die_Dedicated_Server

So, I changed this value from the default (none) and restarted the server.

As a result, I was able to join the game globally, which I couldn't do before.

This is the log from that time.

<snip>

I don't think the issue is completely resolved since I don't fully understand the root cause, but I was able to join the game with this approach.


You've done the same thing I did and enabled the Steamworks networking. Your logs are also showing that you cannot reach your server with a direct TCP/IP connection, so it falls back on Steam to get things going. What's missing from my logs vs. yours is that I have anticheat disabled as this is ultimate going to be a modded server I run for my friends.

 
Last edited by a moderator:
Your server has multiple nics, maybe the game is using the wrong one.


I

am going to go cry in a corner now.

Used the IP address on eno4 vice eno1 and got prompted for my password immediately.

The only reason I have port 4 connected is so the IDRAC can piggyback off of it (since you need an enterprise license for IDRAC to use its dedicated port and I ain't paying for that). I should probably disable that interface in ifconfig, since the 7days server doesn't... seem to have a way to force a binding to a specific interface? And I'm not using eno4 for anything else, really.

edit: Took down eno2-4 and restarted the server, works like a charm now. Now I wonder why it doesn't show up in the list of LAN games...?

 
Last edited by a moderator:
Back
Top