Jump to content
Alloc

Improvements for the dedicated server

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)
  • Like 7

Share this post


Link to post
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.

Share this post


Link to post
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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
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)

Share this post


Link to post
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

Share this post


Link to post
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.

Share this post


Link to post
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 :)

Share this post


Link to post
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...

Share this post


Link to post
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

Share this post


Link to post
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

  • Like 1

Share this post


Link to post
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

Share this post


Link to post
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

  • Like 1

Share this post


Link to post
Share on other sites

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)

Share this post


Link to post
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

Share this post


Link to post
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.

Share this post


Link to post
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.

Share this post


Link to post
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

Share this post


Link to post
Share on other sites

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

 

MFG

Share this post


Link to post
Share on other sites

Thanks :)

 

I doubt that TFP will do a lot on this though. I actually even doubt they noticed this at all :(

Share this post


Link to post
Share on other sites
... an ability to "kill" them would be good since they can't suicide...

 

Thanks to HAL9000 the latest rev has a kill command :)

Share this post


Link to post
Share on other sites

had my first server crash, i never used derpopos fix because server never crashed under linux but do i need it now? can someone combine it with your files i try it but server does not start then

 

TY

 

http://pastebin.com/UUQbxFN9

Share this post


Link to post
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.

Share this post


Link to post
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 :)

Share this post


Link to post
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...