Jump to content

Improvements for the dedicated server


Alloc

Recommended Posts

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!

Link to comment
Share on other sites

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:

 

 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?

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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!

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

need help with this

 

 

The contents of ​http://svn.illy.bz/7dtd/binary-improvements/webserver/ must be put in a folder named webserver directly in the game (engine) folder.

 

what would the game engine folder be for me?

 

/****/7daystodie/7DaysToDie_Data

 

/****/7daystodie/Data

 

/****/7daystodie/Saves

 

It would be this

 

/****/7daystodie/webserver

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

/****/7daystodie/webserver

 

 

 

http://68.232.176.242:25579/

  <property name="ControlPanelEnabled" value="true"/>
 <property name="ControlPanelPort" value="25577"/>
 <property name="ControlPanelPassword" value="fake123"/>

 

http://68.232.176.242:8082/

  <property name="TelnetEnabled" value="True"/>
 <property name="TelnetPort" value="8080"/>
 <property name="TelnetPassword" value="fake123"/>

 

neither one of these work

Link to comment
Share on other sites

/****/7daystodie/webserver

 

 

 

http://68.232.176.242:25579/

  <property name="ControlPanelEnabled" value="true"/>
 <property name="ControlPanelPort" value="25577"/>
 <property name="ControlPanelPassword" value="fake123"/>

 

http://68.232.176.242:8082/

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

Link to comment
Share on other sites

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?

Link to comment
Share on other sites

@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/

  <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 ;)

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

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.

Link to comment
Share on other sites

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.

can you show me where to download and detailed instructions for installing?

Link to comment
Share on other sites

can you show me where to download and detailed instructions for installing?

Er, where did you get it from up to now? ^^

https://7dtd.illy.bz/wiki/Server%20fixes

For the basic setup it's nothing more than what's under "Download" there: download both files, remove the ".patched" from the AC# and then move both to your 7DaysToDie_Data/Managed-folder.

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