• If you have a mod, tool or prefab, please use the Resources section. Click Mods at the top of the forums.

Improvements for the dedicated server

what is the target .net framework meant to be? I've never used mono so would prefer to stick with VS
I set it to .NET 2 though 3.5 is probably also ok.

unable to load the webpage where everything is located on?
Sorry, didn't get that question ;)

when i put game ip and 25022 i get the Control Panel up but not the webserver if i put ip and 25024 :grumpy:
Hm, could you show a log after you tried to access it? Best put it on pastebin or such but remove the passwords in that log!

 
Since my hoster finally switched to the Dedicated Server Only Build, I applied Alloc's Server Fixes to my rented server /daystodie_data/managed folder (renamed my existing Assembly-CSharp.dll, copied over the 2 files from Alloc, renamed the Assembly-CSharp.patched.dll to the correct file name). When it is done, I can restart the server, but not connect to it. the output_log.txt gives me the following:

Code:
 Initialize engine version: 4.5.3f3 (fca41a4fabea)
Forcing GfxDevice: 4
NullGfxDevice:
   Version:  NULL 1.0 [1.0]
   Renderer: Null Device
   Vendor:   Unity Technologies
Begin MonoManager ReloadAssembly
Platform assembly: X:\7daystodie\7DaysToDie_Data\Managed\UnityEngine.dll (this message is harmless)
Loading X:\7daystodie\7DaysToDie_Data\Managed\UnityEngine.dll into Unity Child Domain
Platform assembly: X:\7daystodie\7DaysToDie_Data\Managed\Assembly-CSharp-firstpass.dll (this message is harmless)
Loading X:\7daystodie\7DaysToDie_Data\Managed\Assembly-CSharp-firstpass.dll into Unity Child Domain
Platform assembly: X:\7daystodie\7DaysToDie_Data\Managed\Assembly-UnityScript-firstpass.dll (this message is harmless)
Loading X:\7daystodie\7DaysToDie_Data\Managed\Assembly-UnityScript-firstpass.dll into Unity Child Domain
Platform assembly: X:\7daystodie\7DaysToDie_Data\Managed\Assembly-UnityScript.dll (this message is harmless)
Loading X:\7daystodie\7DaysToDie_Data\Managed\Assembly-UnityScript.dll into Unity Child Domain
Platform assembly: X:\7daystodie\7DaysToDie_Data\Managed\ICSharpCode.SharpZipLib.dll (this message is harmless)
Loading X:\7daystodie\7DaysToDie_Data\Managed\ICSharpCode.SharpZipLib.dll into Unity Child Domain
Platform assembly: X:\7daystodie\7DaysToDie_Data\Managed\libnoise.dll (this message is harmless)
Loading X:\7daystodie\7DaysToDie_Data\Managed\libnoise.dll into Unity Child Domain
Platform assembly: X:\7daystodie\7DaysToDie_Data\Managed\SteamworksManaged.dll (this message is harmless)
Loading X:\7daystodie\7DaysToDie_Data\Managed\SteamworksManaged.dll into Unity Child Domain
Platform assembly: X:\7daystodie\7DaysToDie_Data\Managed\NSpeex.dll (this message is harmless)
Loading X:\7daystodie\7DaysToDie_Data\Managed\NSpeex.dll into Unity Child Domain
Platform assembly: X:\7daystodie\7DaysToDie_Data\Managed\EasyAntiCheat.Client.dll (this message is harmless)
Loading X:\7daystodie\7DaysToDie_Data\Managed\EasyAntiCheat.Client.dll into Unity Child Domain
Platform assembly: X:\7daystodie\7DaysToDie_Data\Managed\EasyAntiCheat.Server.dll (this message is harmless)
Loading X:\7daystodie\7DaysToDie_Data\Managed\EasyAntiCheat.Server.dll into Unity Child Domain
- Completed reload, in  1.271 seconds
Platform assembly: X:\7daystodie\7DaysToDie_Data\Managed\UnityScript.Lang.dll (this message is harmless)
Platform assembly: X:\7daystodie\7DaysToDie_Data\Managed\Boo.Lang.dll (this message is harmless)
The referenced script on this Behaviour is missing!

(Filename:  Line: 1633)

A script behaviour has a different serialization layout when loading. (Read 24 bytes but expected 28 bytes)
Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?

(Filename:  Line: 1170)

The referenced script on this Behaviour is missing!

(Filename:  Line: 1633)

A script behaviour has a different serialization layout when loading. (Read 24 bytes but expected 32 bytes)
Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?

(Filename:  Line: 1170)

The referenced script on this Behaviour is missing!

(Filename:  Line: 1633)

A script behaviour has a different serialization layout when loading. (Read 24 bytes but expected 28 bytes)
Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?

(Filename:  Line: 1170)

The referenced script on this Behaviour is missing!

(Filename:  Line: 1633)

The referenced script on this Behaviour is missing!

(Filename:  Line: 1633)

The referenced script on this Behaviour is missing!

(Filename:  Line: 1633)

A script behaviour has a different serialization layout when loading. (Read 24 bytes but expected 28 bytes)
Did you #ifdef UNITY_EDITOR a section of your serialized properties in any of your scripts?

(Filename:  Line: 1170)
What is wrong, or what I'm doing wrong?

 
Heh, that's a new one :D

Could you start the server with the orig file again and show me the log? (Remove passwords)

 
So, first I only removed the 2 added files and renamed my Assembly-CSharp.dll.OLD back to normal. Restarted the server, nothing, nada, server running, but no connection possible. output_log.txt shhows exactly the same rrors as posted above. So I replaced the whole 7daystodie_data/managed forlder with the one from my local backup, restarted the server and voila, I can connect. Seems some file in the managed folder gets changed/corrupted during starting with the modified files. Since the logfile is too long to post here, I've uploaded it here logfile.txt

 
The mod won't affect anything in your managed folder, must have been something else. Anyway, you're running Alpha 9.2 so you have to get either a 9.2 compatible version of the mod (up to rev 174) or update your server to 9.3.

 
Alloc, with the way it's been progressing I assume it will eventually get there but still want to ask, do you have plans of adding either a timer based tile reload or even possibly smarter (auto) reload of only changed tiles in the map? I usually play with it up on a 2nd monitor and it's just a bit of a pain to keep having to switch out of the game to load up newly explored areas.

I would also love to see an optional included file, such that custom markers can be added, that would not conflict with svn updates.

Thanks for the hard work on all this!

 
... do you have plans of adding either a timer based tile reload or even possibly smarter (auto) reload of only changed tiles in the map? ...
No matter what way it would have to reload all (visible) tiles as Leaflet doesn't allow me to reload just a given set of tiles. But at least timer based could be done.

I would also love to see an optional included file, such that custom markers can be added, that would not conflict with svn updates.
You mean like loading another JS file (which normally does not exist) so you could add JS code for markers there?

 
So, first I only removed the 2 added files and renamed my Assembly-CSharp.dll.OLD back to normal. Restarted the server, nothing, nada, server running, but no connection possible. output_log.txt shhows exactly the same rrors as posted above. So I replaced the whole 7daystodie_data/managed forlder with the one from my local backup, restarted the server and voila, I can connect. Seems some file in the managed folder gets changed/corrupted during starting with the modified files. Since the logfile is too long to post here, I've uploaded it here logfile.txt
I'm having this same issue. Server was running fine with 9.3 patch. I replaced the DLL's with Alloc's 9.3 version, and the server seems to start but not quite... it says it's running but I can't connect. Since I had backed up the original DLL, I stopped the server and replaced the original DLL. Still the same problem. Only reinstalling the whole game resolves it

 
Please show me a log of normal startup, then with my files and then again after switching back to the orig DLL (without redownloading the folder through Steam or anything).

 
I also have issues with rev 181 and the telnetserver. the server constantly crashes and without the fixes all works so far great.

 
I had the same issue I believe but I had Alloc come on the server with teamviewer and he showed me that I screwed up and was using the wrong server files, I was using the normal server files instead of the -dedicated but now it all works good once I changed up the server files.

 
No matter what way it would have to reload all (visible) tiles as Leaflet doesn't allow me to reload just a given set of tiles. But at least timer based could be done.
Gotcha, even that would be great then.

You mean like loading another JS file (which normally does not exist) so you could add JS code for markers there?
Exactly. That would give the most flexibility, but even loading an optional csv file to define basic markers would also do the job. I know the original standalone version of the map loaded player markers that way.

 
/****/7daystodie/webserver

http://68.232.176.242:25579/

Code:
  <property name="ControlPanelEnabled" value="true"/>
 <property name="ControlPanelPort" value="25577"/>
 <property name="ControlPanelPassword" value="fake123"/>
http://68.232.176.242:8082/

Code:
  <property name="TelnetEnabled" value="True"/>
 <property name="TelnetPort" value="8080"/>
 <property name="TelnetPassword" value="fake123"/>
neither one of these work

 
/****/7daystodie/webserver


http://68.232.176.242:25579/

Code:
  <property name="ControlPanelEnabled" value="true"/>
 <property name="ControlPanelPort" value="25577"/>
 <property name="ControlPanelPassword" value="fake123"/>
http://68.232.176.242:8082/

Code:
  <property name="TelnetEnabled" value="True"/>
 <property name="TelnetPort" value="8080"/>
 <property name="TelnetPassword" value="fake123"/>
neither one of these work
Should only be for the ControlPanel one if I am not mistaken, I would check to see if the port 25579 is being used on the system for another program or something. Make sure its not your server connection port as well some people like to make all 3 of their ports on the server close to each other.

 
Should only be for the ControlPanel one if I am not mistaken, I would check to see if the port 25579 is being used on the system for another program or something. Make sure its not your server connection port as well some people like to make all 3 of their ports on the server close to each other.
its a dedicated server, how am i able to check?

 
@Markezzz:

Log when it runs ok and log with the mod when it does not please.

Exactly. That would give the most flexibility, but even loading an optional csv file to define basic markers would also do the job. I know the original standalone version of the map loaded player markers that way.
Well, that "original standalone version" is a completely different thing ;)

I think I'll just allow a JS file, that way you have most flexibilty for doing your own things ;)

http://68.232.176.242:25579/
Code:
  <property name="ControlPanelEnabled" value="true"/>
 <property name="ControlPanelPort" value="25577"/>
 <property name="ControlPanelPassword" value="fake123"/>
The first one should be ok. Also you could update to the just released 185, as it drops the dependency on ControlPanelEnabled and TelnetEnabled altogether.

@Test if the port is in use: If it is in use the log will contain an exception saying so.

Should only be for the ControlPanel one if I am not mistaken, I would check to see if the port 25579 is being used on the system for another program or something. Make sure its not your server connection port as well some people like to make all 3 of their ports on the server close to each other.
Yeah, kinda. The way I was activating it before Telnet also had to be enabled as otherwise my code wasn't called at all ;)

Changed now though.

The game ports don't matter as those are UDP whereas Telnet/CP/Web interface are TCP. But obviously they could still conflict with other programs running on the machine as you said. Though the mod would log an exception if that was the case ;)

 
Last edited by a moderator:
Yeah, kinda. The way I was activating it before Telnet also had to be enabled as otherwise my code wasn't called at all ;) Changed now though.

The game ports don't matter as those are UDP whereas Telnet/CP/Web interface are TCP. But obviously they could still conflict with other programs running on the machine as you said. Though the mod would log an exception if that was the case ;)
Yea I had an issue with ports once I was using port 36122 for the control panel and had port 36124 already in use by different software running so when I went to http://ip:36124 nothing would come up because the port was already in use, I since changed the ports around and now it works.

 
Back
Top