Jump to content

Improvements for the dedicated server


Alloc

Recommended Posts

yeah I've coded my own voxel raycast, the one in the game use Unity's physics raycast on the terrain generated mesh. That wouldn't work since it won't hit chunks that are not loaded.

Interesting :)

Wonder how much of an additional impact that has on performance.

 

By the way Alloc, is it ok it I make a distribution of your project with the code I made? I'd like to share it with everyone. :)

Sure, you wouldn't be the first one anyway ;)

Link to comment
Share on other sites

Interesting :)

Wonder how much of an additional impact that has on performance.

I've fully multi-threaded the rendering so it ain't that bad. The renderer workers are mostly waiting for chunks to load in the background. Overall I managed to yield about 20 map chunks per second using 6 render thread.

 

Sure, you wouldn't be the first one anyway

Awesome thank! :D

Link to comment
Share on other sites

Originally Posted by StephanieRct View Post

Hey me again!

I've added an isometric map renderer, check this out! http://www.theroad7dtd.com/plotworld

 

Is the website for it working? Timing out for me..

 

Tracing route to 66.103.130.62 over a maximum of 30 hops

 1    <1 ms    <1 ms    <1 ms  192.168.1.100
 2     1 ms     1 ms     1 ms  lo0.bng1.mel8.on.ii.net [150.101.32.78]
 3     2 ms     1 ms     2 ms  ae7.cr1.mel4.on.ii.net [150.101.33.171]
 4    13 ms    13 ms    22 ms  ae2.br1.syd7.on.ii.net [150.101.33.28]
 5   164 ms   164 ms   164 ms  te0-1-1-2.br1.sjc2.on.ii.net [150.101.33.193]
 6   167 ms   167 ms   168 ms  sl-st31-sj-.sprintlink.net [144.223.242.137]
 7   161 ms   167 ms   160 ms  sl-st50-sj-.sprintlink.net [144.232.0.164]
 8   168 ms   164 ms   164 ms  144.232.19.34
 9   275 ms   276 ms   277 ms  ae-1-8.bar1.Orlando1.Level3.net [4.69.137.149]
10   223 ms   225 ms   223 ms  GIGLINX-INC.bar1.Orlando1.Level3.net [4.31.181.1
42]
11   252 ms   253 ms   252 ms  66.103.132.177
12     *        *        *     Request timed out.

Link to comment
Share on other sites

Hey me again!

I've added an isometric map renderer, check this out! http://www.theroad7dtd.com/plotworld

[ATTACH=CONFIG]7201[/ATTACH]

 

I still have a couple if small issues to fix but I couldn't wait to share this :3

 

awesome.. its like minecraft dynmap for 7dtd

 

only thing is the show regions grid... maybe you could have the renderer just paint the region grid onto the relevant tiles as an option for a more accurate grid line, like a faint dotted line that goes over the blocks.. instead of an js overlay that wouldn't be 100% accurate..

Link to comment
Share on other sites

  • 2 weeks later...
Hi Alloc,

 

I assumed this question would have been asked by now.

 

Are you aware of any telnet changes with the new A11 update.

 

Cheers.

 

 

I asked Alloc about it, he said:

 

probably a bunch, but nothing that should have a really great impact on users

 

So i guess good news ;)

Link to comment
Share on other sites

not sure if it is a known issue or not, but after I added this dedipatch to my server and rendered it, the region files were reset to default.

Any way to fix this? Everytime I apply a backup, they reset to default again.

Haven't seen / heard anything like this before. Can you do it again and provide the log afterwards?

Link to comment
Share on other sites

Alloc,

 

I'm at a stuck point in compiling the fixes myself, The latest svn head(rev223) says "Source file 'src\CustomCommands\webstat.cs' could not be found" when compiling in Visual Studio 2013.

 

Also if I change how that file is handled (compile -> do nothing) a few other error messages show up.

"The type or namespace name "ConsoleCommand" could not be found"

"The type or namespace name "ConsoleSdtd" could not be found"

"The type or namespace name "InventoryField" could not be found"

 

 

Do you have any pointers at what is causing it and/or how to fix it?

 

Thanks in advance.

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

The latest svn head(rev223) says "Source file 'src\CustomCommands\webstat.cs' could not be found" when compiling in Visual Studio 2013.

Just remove the reference, not required.

 

"The type or namespace name "ConsoleCommand" could not be found"

"The type or namespace name "ConsoleSdtd" could not be found"

"The type or namespace name "InventoryField" could not be found"

You didn't supply a deobfuscated AC#.dll as reference (i.e. read the readme found in the "7dtd-binaries" folder and the build yourself notes on the wiki ;) ).

Link to comment
Share on other sites

From the perspective of those that modified this thing: Probably quite a few. Some stuff already moved to the core, hope to move even more of it. So some of the API changed etc.

My version should be out at the same time as A11 though.

Link to comment
Share on other sites

Would you say your changes of moving more of it to the core is still going to leave something that useful for c# modders or not?

 

Because this was the most useful api, provided hooks, among other things that just made it easier to build on from etc

 

Will see what the damage is or move on.

Link to comment
Share on other sites

Would you say your changes of moving more of it to the core is still going to leave something that useful for c# modders or not?

 

Because this was the most useful api, provided hooks, among other things that just made it easier to build on from etc

 

Will see what the damage is or move on.

Some things should get easier (like adding commands) but I want to get it in a state that does not require any engine patching. Deobfuscation obviously still has to be applied if you want to access stuff that's originally obfuscated from your own code.

Link to comment
Share on other sites

You didn't supply a deobfuscated AC#.dll as reference (i.e. read the readme found in the "7dtd-binaries" folder and the build yourself notes on the wiki ;) ).

 

I did supply the 7d2d-binaries folder with all of the required dlls, but when obfuscating the AC#.dll i get errors and then a "successful" at the end.

 

 

like so:

 

ERROR : Unable to load the patcher NamePatcher :

ERROR : System.IO.FileLoadException: Could not load file or assembly 'file:///C:\Users\Kenneth Young\Desktop\7d2d mods\Deobfuscate-7dtd_pre0.4.3\patchers\NamePatcher.dll' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515)

File name: 'file:///C:\Users\Kenneth Young\Desktop\7d2d mods\Deobfuscate-7dtd_pre0.4.3\patchers\NamePatcher.dll' ---> System.NotSupportedException: An attempt was made to load an assembly from a network location which would have caused the assembly to be sandboxed in previous versions of the .NET Framework. This release of the .NET Framework does not enable CAS policy by default, so this load may be dangerous. If this load is not intended to sandbox the assembly, please enable the loadFromRemoteSources switch. See http://go.microsoft.com/fwlink/?LinkId=155569 for more information.

at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)

at System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)

at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)

at System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks, StackCrawlMark& stackMark)

at System.Reflection.Assembly.LoadFrom(String assemblyFile)

at DeobfuscateMain.Deobfuscator.Main(String[] args)

 

 

 

 

ERROR : Unable to load the patcher ManualDeobfuscator :

ERROR : System.IO.FileLoadException: Could not load file or assembly 'file:///C:\Users\Kenneth Young\Desktop\7d2d mods\Deobfuscate-7dtd_pre0.4.3\patchers\ManualDeobfuscator.dll' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515)

File name: 'file:///C:\Users\Kenneth Young\Desktop\7d2d mods\Deobfuscate-7dtd_pre0.4.3\patchers\ManualDeobfuscator.dll' ---> System.NotSupportedException: An attempt was made to load an assembly from a network location which would have caused the assembly to be sandboxed in previous versions of the .NET Framework. This release of the .NET Framework does not enable CAS policy by default, so this load may be dangerous. If this load is not intended to sandbox the assembly, please enable the loadFromRemoteSources switch. See http://go.microsoft.com/fwlink/?LinkId=155569 for more information.

at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)

at System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)

at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)

at System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks, StackCrawlMark& stackMark)

at System.Reflection.Assembly.LoadFrom(String assemblyFile)

at DeobfuscateMain.Deobfuscator.Main(String[] args)

 

 

 

 

ERROR : Unable to load the patcher NetworkPatcher :

ERROR : System.IO.FileLoadException: Could not load file or assembly 'file:///C:\Users\Kenneth Young\Desktop\7d2d mods\Deobfuscate-7dtd_pre0.4.3\patchers\NetworkPatcher.dll' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515)

File name: 'file:///C:\Users\Kenneth Young\Desktop\7d2d mods\Deobfuscate-7dtd_pre0.4.3\patchers\NetworkPatcher.dll' ---> System.NotSupportedException: An attempt was made to load an assembly from a network location which would have caused the assembly to be sandboxed in previous versions of the .NET Framework. This release of the .NET Framework does not enable CAS policy by default, so this load may be dangerous. If this load is not intended to sandbox the assembly, please enable the loadFromRemoteSources switch. See http://go.microsoft.com/fwlink/?LinkId=155569 for more information.

at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)

at System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)

at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)

at System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks, StackCrawlMark& stackMark)

at System.Reflection.Assembly.LoadFrom(String assemblyFile)

at DeobfuscateMain.Deobfuscator.Main(String[] args)

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

Alloc, anything I can do to improve the performance of the webserver map? The game map is 3-4 months old, and it's gotten to the point of being barely useable, taxing both clients and server.

 

Which clients? The game clients?

Also, is it viewing the webpage that's causing the problems or is it when no one is viewing it (i.e. is it the server or the actual rendering of the images)?

Link to comment
Share on other sites

We also have issues with our server map, which has grown over several months now. I use my Browser and Webmod to access the map. but it is at a point now, that makes is nearly impossible to move from the center to show outer regions, or zoom in/out without the map becoming unresponsive, or losing connection and have to reload.

 

It is not an issue of the server itself, since my other 2 "younger" servers with smaller maps and fewer map informations have no issues to load fast and properly. It also might not be an issue of the maps size - ours is not too big, but probably overloaded with informations from all the players that have ever been on this map since it has started.

Link to comment
Share on other sites

Oh, right, what you guys *could* try if you want to: Remove (rename whatever) the AllocsPersistentData.bin or whatever its name was (stop server before, restart after of course). That will obviously kill all the data in there, i.e. information about players that are not online currently. But it will also remove all the map markers for offline players and stuff and thus *might* help. Not sure if that's really a problem though, never had a leaflet-map with like 10k of markers or whatever you guys got by now ;)

Link to comment
Share on other sites

  • 2 weeks later...

Just FYI, I ran updatescripts and it does exactly what I expect, and tells me I need to update the engine to build 576370.

Unfortunately, when I run updateengine, it shows "Engine is already at the newest build (local:480993, remote: 1)."

 

Going to try manually downloading it from Steam now.

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