Jump to content

Native Linux server (with management scripts)


Alloc

Recommended Posts

I have Ubuntu 14x and my instance is crashing a few times an hour. I used to run 9.3 on here without many problems, and deleted that instance after updating to A10. Do you guys recommend not using Ubuntu? Not sure if that's where the problem is.

 

Or maybe everyone is having crash issues with this A10?

Link to comment
Share on other sites

I can compile (delete webstat.cs) but when I run 7dtd-fixer.exe...

I get this strange error... I am not advanced dev in c# but there is the UnityEngine.dll in the folder!

 

System.IO.FileLoadException: Could not load file or assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. A strongly-named assembly is required. (Exception de HRESULT : 0x80131044)
Nom de fichier : 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'
  à System.Signature.GetSignature(Void* pCorSig, Int32 cCorSig, RuntimeFieldHandleInternal fieldHandle, IRuntimeMethodInfo methodHandle, RuntimeType declaringType)
  à System.Reflection.RuntimeMethodInfo.get_CallingConvention()
  à Mono.Cecil.MetadataImporter.HasCallingConvention(MethodBase method, CallingConventions conventions)
  à Mono.Cecil.MetadataImporter.ImportMethod(MethodBase method, IGenericContext context, ImportGenericKind import_kind)
  à dtdfixer.MainClass.replaceMethod(TypeDefinition type, String methodName, Boolean addThisRef, Int32 opCount, MethodBase targetMethod)
  à dtdfixer.MainClass.mappingPatch(ModuleDefinition module)
  à dtdfixer.MainClass.Main(String[] args)

 

:frown-new:

Link to comment
Share on other sites

I have Ubuntu 14x and my instance is crashing a few times an hour. I used to run 9.3 on here without many problems, and deleted that instance after updating to A10. Do you guys recommend not using Ubuntu? Not sure if that's where the problem is.

 

Or maybe everyone is having crash issues with this A10?

 

Just speaking for myself, but I host my 7dtd servers on a Ubuntu 14.04.1 box and everything runs smoothly, no crash since the update to A10.

Link to comment
Share on other sites

Not with the Linux one. There was a problem in the first ~16hrs though so people who received the *second* key of a 2pack could not access the Linux client and dedicated.

 

Success today, It downloaded way more files than before and put a bunch of stuff in the engine folder that wasn't there. And the server starts. This is still on arch linux, didn't switch to ubuntu after all.

 

I haven't tried logging in yet or tested for crashes but I'll see after work.

Link to comment
Share on other sites

Success today, It downloaded way more files than before and put a bunch of stuff in the engine folder that wasn't there. And the server starts. This is still on arch linux, didn't switch to ubuntu after all.

 

Could you go a bit more into detail on what "the bunch of stuff" is you added to the folder? ;)

Link to comment
Share on other sites

Could you go a bit more into detail on what "the bunch of stuff" is you added to the folder? ;)

 

I think you misunderstood, the download process resulted in a bunch more stuff being in the engine folder as opposed to what was there when I tried updating Saturday. Not that I put anything there manually.

 

So steamcmd wasn't downloading everything in my case.

Link to comment
Share on other sites

Hi, so A10 release seems to be working fine, updating etc. was no problem.

However I am experiencing a weird bug on the server. After a while, people cant join correctly anymore. The Client joins and loads the game, however the client can never press ENTER to join the game.

 

The server is just spamming the following message into the ouput-log (140Mb logfile):

 

2014.11.24 09:29:23: at C87AA.9AAA0 (System.Random 0AAAA) [0x00000] in <filename unknown>:0

2014.11.24 09:29:23: at C87AA.397AA (ArraySegment`1 _activeChunks, .EntityPlayer _thePlayer, System.Random _rnd) [0x00000] in <filename unknown>:0

2014.11.24 09:29:23: at World.C77AA (ArraySegment`1 _activeChunks) [0x00000] in <filename unknown>:0

2014.11.24 09:29:23: at GameManager.Update () [0x00000] in <filename unknown>:0

 

I could even issue a shutdown command, so the server seems to be responding to telnet commands, its just that no one can join, any ideas?

Link to comment
Share on other sites

I think you misunderstood, the download process resulted in a bunch more stuff being in the engine folder as opposed to what was there when I tried updating Saturday. Not that I put anything there manually.

 

So steamcmd wasn't downloading everything in my case.

Yeah, rereading your message I see that now ;) I probably added an "I" after the "and" when reading it.

Just wondering, do you actually use the second key of a 2pack for the server?

 

 

Hi, so A10 release seems to be working fine, updating etc. was no problem.

However I am experiencing a weird bug on the server. ...

The error is all over the forum already ;)

Going to be fixed with an upcoming hotfix.

Link to comment
Share on other sites

I can compile (delete webstat.cs) but when I run 7dtd-fixer.exe...

I get this strange error... I am not advanced dev in c# but there is the UnityEngine.dll in the folder!

 

System.IO.FileLoadException: Could not load file or assembly 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. A strongly-named assembly is required. (Exception de HRESULT : 0x80131044)
Nom de fichier : 'UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'
  à System.Signature.GetSignature(Void* pCorSig, Int32 cCorSig, RuntimeFieldHandleInternal fieldHandle, IRuntimeMethodInfo methodHandle, RuntimeType declaringType)
  à System.Reflection.RuntimeMethodInfo.get_CallingConvention()
  à Mono.Cecil.MetadataImporter.HasCallingConvention(MethodBase method, CallingConventions conventions)
  à Mono.Cecil.MetadataImporter.ImportMethod(MethodBase method, IGenericContext context, ImportGenericKind import_kind)
  à dtdfixer.MainClass.replaceMethod(TypeDefinition type, String methodName, Boolean addThisRef, Int32 opCount, MethodBase targetMethod)
  à dtdfixer.MainClass.mappingPatch(ModuleDefinition module)
  à dtdfixer.MainClass.Main(String[] args)

 

:frown-new:

 

for C# modders. I solved my problem by removing the strong name signature of the Assembly-CSharp.dll as explained here : http://resources.infosecinstitute.com/dot-net-assemblies-and-strong-name-signature/

 

Yeah! My autokickhightping will be back soon!:excitement:

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

for C# modders. I solved my problem by removing the strong name signature of the Assembly-CSharp.dll as explained here : http://resources.infosecinstitute.com/dot-net-assemblies-and-strong-name-signature/

 

Yeah! My autokickhightping will be back soon!:excitement:

 

hmm I tried myself with cff explorer and snremove.. neither worked for me, which steps did you do exactly?

Link to comment
Share on other sites

Alloc!

Did you commit your last revision (current is 205)?

Because when I patch the assembly only with my custom fixes, the server work well!

But when I try to compile only with your fixes, can not connect with telnet or 7DTD client!

 

and the output.log spam this :

MissingMethodException: Method not found: 'System.Threading.Monitor.Enter'.
 at ConsoleSdtd.Run () [0x00000] in <filename unknown>:0 

 at GameManager.Update () [0x00000] in <filename unknown>:0 

(Filename:  Line: -1)

 

test server runing on windows 7 x64

 

I leave the post just in case someone is noob as me in c#. :D

so I get this because i changed earlier the target .NET to 4.0 when the strong signature blocked me to patch assembly!

So just target the 3.5 .NET to 7dtd-server-fixes project to fixe this!

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

Hi!

Thank you for this useful script! I was using it on my previous server, and now I want to start from scratch with Alpha 10 and I can't understand what changed in Alpha 10. Specifically this line: "Added Linux 32 bit client and the Linux dedicated server 32 bit only".

 

Linux dedicated server was available before, right? Should I still use your script for server management or there is a new better way to start a server on a clean VPS server?

 

Thanks!

Link to comment
Share on other sites

The difference is that before it was just an unofficially added engine file I provided and now it's provided by TFP officially. Using the script will still make things easier but you can also run without (as before ;) ) if you prefer that.

Link to comment
Share on other sites

Hi, Got same problem. My ldd is:

root@chcipak:/home/sdtd/engine/7DaysToDie_Data/Plugins/x86# ldd libCSteamworks.so

./libCSteamworks.so: /usr/lib32/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /home/sdtd/engine/7DaysToDie_Data/Plugins/x86/./libsteam_api.so)

linux-gate.so.1 => (0xf77c8000)

libsteam_api.so => /home/sdtd/engine/7DaysToDie_Data/Plugins/x86/./libsteam_api.so (0xf7790000)

libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf7687000)

libm.so.6 => /lib32/libm.so.6 (0xf7661000)

libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf7643000)

libc.so.6 => /lib32/libc.so.6 (0xf74fc000)

libdl.so.2 => /lib32/libdl.so.2 (0xf74f8000)

libpthread.so.0 => /lib32/libpthread.so.0 (0xf74df000)

/lib/ld-linux.so.2 (0xf77c9000)

root@chcipak:/home/sdtd/engine/7DaysToDie_Data/Plugins/x86#

 

 

Link to comment
Share on other sites

1.dump Assembly-CSharp.dll with ildsam.exe to an .il file.

2.search for RSA1 string in the .il

and delete :

.publickey ...RSA1....

.hash algorithm

3.reassemble with ilasm.exe /dll "path/to/the/file.il"

 

enjoy the modding! :encouragement:

 

hmm I don't have ildsam.exe.. its part of which .net sdk? any specific version?

 

do i even need to bother with this for a101

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