Jump to content

LiteNetLib not working on my dedicated server


ErrorNull

Recommended Posts

How can I ensure my server is listening/running/allowing LiteNetLib. All my players are falling back on SteamNetworkingClient.

 

Background:

 

i have a dedicated server (windows) setup in my home running 7D2D, behind a typical residential high speed cable internet connection. My bros, kids, and a few friends have been playing on this server setup for several years without issue. they can find my server within the 7D2D server browser just fine and connect successfully. it's only on this last alpha 21 B317, that my bro is getting zombies rubber banding everywhere when there's more than like 3-4 zombies in the fight. strangely he does not experience much lag in any other aspect of the game: his fps is okay and his in-game character doesn't lag. other players do not experience this zombie rubber banding at all.

 

and again, this rubber banding does not occur at all when playing alpha 20.7 or prior on my server. i also host valhiem, don't starve and minecraft on my server (not running at the same time of course), and i haven't heard reports of lag issues.

 

in troubleshooting further my bro noticed this from his 7D2D client logs:

 

2023-06-25T06:07:43 85.921 INF NET: LiteNetLib trying to connect to: 98.xxx.xxx.xxx:26900
2023-06-25T06:07:48 91.795 INF NET: LiteNetLib: Connection failed: ConnectionFailed

2023-06-25T06:07:48 91.795 INF NET: Steam NW trying to connect to: 98.xxx.x.xxx:26900
2023-06-25T06:07:48 91.796 INF [Steamworks.NET] NET: Connecting to SteamID xxxxxxx
2023-06-25T06:07:48 91.798 INF Started thread SteamNetworkingClient
2023-06-25T06:07:52 95.486 INF [Steamworks.NET] NET: Connection established
2023-06-25T06:07:52 95.528 INF [Steamworks.NET] NET: Password accepted

 

(the IP and SteamID is x'd out for security)

 

i soon realized that ALL players to my server are getting this same LiteNetLib connection failure and is falling back on SteamNetworkingClient. I've come to understand that SteamNetworkingClient is horrible, and players should connect using LiteNetLib when possible. Below is what I've done so far, but players still fall back to SteamNetworkingClient...

 

Ensured router port forwarding:

External Port = 26900

Internal Port = 26900

Protocol = BOTH (TCP and UDP)

Server Internal IP = 192.168.xxx.xxx

 

Windows Inbound firewall settings (on the server):

7daystodieserver.exe = allow both TCP and UDP connections from any local and remote address

 

7D2D Server Litnetlib confirm:

When running up the 7D2D server, it shows Litenetlib execution ok

 

2023-06-25T05:32:47 5.468 INF NET: Starting server protocols
2023-06-25T05:32:47 5.592 INF NET: LiteNetLib server started
2023-06-25T05:32:47 5.593 INF [Steamworks.NET] NET: Server started
2023-06-25T05:32:47 5.593 INF Started thread SteamNetworkingServer
2023-06-25T05:32:47 5.594 INF StartGame
2023-06-25T05:32:47 5.595 INF NetPackageManager Init

 

Port scanner site ( https://portchecker.co ) confirms port 26900 is open on the public IP to my server.

 

My bro can telnet to port 26900 successfully, and it spits back all my server game config details.

 

7D2D serverconfig.xml setup below:

 

	<!-- Networking -->
	<property name="ServerPort" value="26900"/>                        <!-- Port you want the server to listen on. Keep it in the ranges 26900 to 26905 or 27015 to 27020 if you want PCs on the same LAN to find it as a LAN server. -->
	<property name="ServerVisibility" value="2"/>                      <!-- Visibility of this server: 2 = public, 1 = only shown to friends, 0 = not listed. As you are never friend of a dedicated server setting this to "1" will only work when the first player connects manually by IP. -->
	<property name="ServerDisabledNetworkProtocols"	value=""/>         <!-- Networking protocols that should not be used. Separated by comma. Possible values: LiteNetLib, SteamNetworking. Dedicated servers should disable SteamNetworking if there is no NAT router in between your users and the server or when port-forwarding is set up correctly -->
	<property name="ServerMaxWorldTransferSpeedKiBs" value="512"/>	

 

you can see above that both LiteNetLib and SteamNetworking are enabled since i lieft he property "ServerDisabledNetworkingProtocols" blank. if i changed this value to SteamNetworking, no players can connect to my server.

 

My bro tried a few other public 7D2D servers that's running alpha 21 B317 and is able to connect using Litenetlib and does not get rubber banding effect.

 

it appears that even though my server appears to be running LiteNetLib successfully, outside clients are not getting LiteNetLib acknowledgement and fall back on SteamNetworking. is there anything i have overlooked or that i can do here? thanks much for any ideas!

Edited by ErrorNull (see edit history)
Link to comment
Share on other sites

48 minutes ago, ErrorNull said:

Ensured router port forwarding:

External Port = 26900

Internal Port = 26900

Protocol = BOTH (TCP and UDP)

Server Internal IP = 192.168.xxx.xxx

This is your issue. And why it stops working when you disable SteamNetworking.

 

SteamNetworking is a crutch for when you are not able to properly forward the ports. It basically creates a VPN tunnel with Steam servers to route the data. 

 

In order to run a server properly with SteamNetworking disabled, you have to forward the full range of ports.

 

TCP 26900

UDP 26900-26903

 

Once you have corrected your forwarding, you should be just fine.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...