• 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

Alloc

Fun Pimps Staff
Early Backer
Hi there,

as it was always an annoyance to me that a) you have no chance to get the IP clients use and b) the Telnet part of the server was unstable and only allowed a single connection at a time I started a 7dtd-server-fixes project.

I think this could be useful to anyone running a dedicated server ;)

Note that this only works with the new dedicated server build of 7dtd.

I also added three new console commands (getgameprefs, gettime, listplayersextended).

A more detailed information on what this project currently includes, where to download (both precompiled and sources), and release notes for future updates can be found on:

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

Regards,

Chris

PS: People running a Linux server and using my scripts to manage it do not need to download this manually as I will integrate it in the next release of the scripts.

 
Last edited by a moderator:
so "getgameprefs" does the same like "sg" command?
Mostly. It does not allow to read sensitive data like passwords. This way you can allow normal users to run this command without fearing they could do anything bad but they would be able to check what e.g. LandClaimSize is on your server.

 
Just updated the files to rev.83. Release notes on the wiki page.

I won't always post here from now on when I upload new revisions so if you're interested in updates check the wiki page every now and then.

Regards,

Chris

 
As long as you use the exe and not the patched Assembly-CSharp it should be fine. If you want to use DerPopo's Assembly-CSharp you have to apply my patches manually.

 
Good job!

I always release a patcher in case somebody wants to combine my Assembly-CSharp patch with other mods. You just have to drag and drop an Assembly-CSharp into my patcher and it will do its magic (if it doesn't copy UnityEnginePatcher.dll to the Assembly-CSharp path, you have to do that manually). It will create a Assembly-CSharp.unityfix.dll which you then can rename into Assembly-CSharp.dll.

If you don't have windows, it should also work with Wine.

 
Last edited by a moderator:
Thanks for the info DerPopo :)

@Linux users: Just released a new version of the scripts which also integrates the server fixes.

@All: As I'm posting anyway just a note: a new version of the server fixes is released.

Regards,

Chris

 
As this might be quite interesting for you admins out there:

Just added a command "showinventory" which allows to look at the bagpack/belt of a given player.

 
As this might be quite interesting for you admins out there:
Just added a command "showinventory" which allows to look at the bagpack/belt of a given player.

That's a huge deal for admins trying to figure out if someone they're seeing doing "odd" behavior is in the process of ramping their ♥♥♥♥ up in prep for an assault - crap load of safes, claims and any other damn thing they're using to ♥♥♥♥ with servers.

TFP should (already... ) provide admins the power to do this (and much more) but until then, damn nice job :)

 
Maybe it will be a noob question, BUT, how can i install it? i download 2 files, Assembly-CSharp.dll & 7dtd-server-fixes.dll. Put them into Steam\SteamApps\common\7 Days To Die\7DaysToDie_Data\Managed folder and...it does not work...

 
Well, first of all:

Note that this only works with the new dedicated server build of 7dtd.
Your path suggest you tried to use it with the client. This would work if you patched the Assembly-CSharp yourself but you can not simply use the dedicated server's DLL with the client.

If you put it in the dedi server and it still does not change anything there's another problem that I am not aware of right now ;)

Regards,

Chris

 
When helping av55545 with using this mod I noticed that I had made two mistakes (fixed in rev.96):

  • I had only registered the new commands when the Telnet server was enabled
  • I actually had used the client DLL ... too many DLLs on my PC ;)


So looks like noone else tried the stuff up to now? :confused-new:

Would be happy for any feedback ;)

Regards,

Chris

 
When helping av55545 with using this mod I noticed that I had made two mistakes (fixed in rev.96):
  • I had only registered the new commands when the Telnet server was enabled
  • I actually had used the client DLL ... too many DLLs on my PC ;)


So looks like noone else tried the stuff up to now? :confused-new:

Would be happy for any feedback ;)

Regards,

Chris
Hello,

it's just wonderful !

I have to take more time to test everything.

Thank you for this essential mod and for source sharing

ketchu

 
Glad you like it :)

@all: To my shame I must admit that I made a mistake with the inventory-code. Looks like the previous release threw an exception if a player had multiple stacks of the same item in his inventory. .Net sees Lists as collections that cannot have a single key multiple times ... That's the way I notice I have only been working with .Net since last monday ;D

Rev.98 fixes this and everything in it should be stable atm.

Regards,

Chris

 
yes it's the only "bug" that I have found.

I have added some command like "heal" and others things. I must try it before sharing to you my suggestions ( If you want to have some suggestions of course)

 
I do not mind suggestions at all :)

Though I will only add stuff that is actually interesting for server administration, nothing that changes the behavior of the game in any way. E.g. I do not see any reason to add a command to heal someone unless anyone can tell me why that's important to admins (but of course you're free to add such things to your local build if you want to ;) ).

Anyway if you have an idea just post it and we'll see if that fits the purpose of this patch.

Regards,

Chris

 
Can't think of one to heal, however unless you already did it, an ability to "kill" them would be good since they can't suicide. Plenty of reports where people fall through / find bugs putting them in a catch 22 with no way to escape it except death, while mates can't reach them to help with that.

 
Can't think of one to heal, however unless you already did it, an ability to "kill" them would be good since they can't suicide. Plenty of reports where people fall through / find bugs putting them in a catch 22 with no way to escape it except death, while mates can't reach them to help with that.
Yeah, that one might be handy. Not sure if that would be a deep interaction with the engine so I would have to check that.

 
Just uploaded rev.103.

Primarily added the abbreviation "pm" for "sayplayer" and changed its behavior so people can in fact use this as a PM function. I.e. the receiver does see the message as e.g. "Alloc (PM): hello" if used by a client. If used through Telnet or control panel it will be "Server (PM): hello".

Also made the code more resistent to bugs in itself, so if there was something going wrong it at least should not affect the game/server ;)

... an ability to "kill" them would be good since they can't suicide...
Haven't forgotten about that one, in fact I just created a ticket so I won't at all ;)

It's just more work as I have to dig in the assembly again to find out how to do this while I am fairly familiar with the console business by now ;)

Regards,

Chris

 
very nice work a big advantage for serveradmins ty so much alloc, i hope tfp include this in the next patch!

MFG

 
Back
Top