Jump to content

Improvements for the dedicated server


Alloc

Recommended Posts

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.

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

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

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

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

Hm, do you know on what event that happened?

 

Also, did you use both the AC#.dll and the server-fixes.dll from the same revision (or just used the updatescripts command)?

 

 

PS: From the log I would say this is not related to anything that DerPopo's fix could help. Looks more like you got some problem with the fixes.

Link to comment
Share on other sites

not really, there was only a few ppl on the server normaly the server is nearly full with 20 ppl and it runs stable.

i use this files http://svn.illy.bz/7dtd/binary-improvements/7dtd-server-fixes/bin/Release/

i used frt servermanger with telnet connection when the crash happens, switching back to web connect because telnet never runs stable for me.

he released a new manager now

Changed telnet parsing - should be more stable

i testing this later.

is derpopo fix included in your files? i see a few posts ago you said yes so im confused

 

another question, i try to make a second server but it uses the same log files, can this be a problem?

 

/home/ogp_agent/.config/unity3d/The Fun Pimps/7 Days To Die/Player.log

 

thanks and sorry bad english here :)

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