Native Linux server (with management scripts)

so i been adding custom commands using just .<command> entered in the chat.. works fine.. but anyway to get a players entered command from the console instead? would mean less clutter in the chat. Or a way of adding custom commands, that don't tell the player anything like "Command <cmd> not allowed for etc", if a custom command is used its passed to a new hook?

also remoteCommand doesn't seem to work, ie can't seem to get anything out of it.. I got chat, playerConnect, telnetCommand hooks working fine though so not sure why.

 
tbh i didn't check the logs.. cus everything is working fine.. its just odd I get it now. I get it in terminal console after doing 7dtd.sh start <instance>
Hm, ok, if you don't even have any problems other than that we might as well just ignore this for now ;)

I tried compiling the source for the server fixes, but ran into the following errors: "Use of unassigned out parameter". It seems like the Vector2i structs are being used before getting a value assigned.
Could you give me the exact error output (i.e. including file/line number).

I do not get that error so I don't know where and why that should happen.

I think it could be quite handy, because my instance seems to be taking too long to shutdown correctly :D .
Will be an option in the future. For now you could just edit the stop-script and put any value you like (though remember that when updating the changes will be overwritten).

so i been adding custom commands using just .<command> entered in the chat.. works fine.. but anyway to get a players entered command from the console instead?
Nope, currently not. It would require either to get the unknown commands to be printed ("harder" to intercept though) or one actual command that does just print the given parameters to the log so you could read them. Don't really think that's the best thing to do though.

also remoteCommand doesn't seem to work, ie can't seem to get anything out of it.. I got chat, playerConnect, telnetCommand hooks working fine though so not sure why.
Did you check if the commands show up in the current_commandExecution.log? If they do I suppose it's something wrong with your hooks. If they do not it might be either the server or the scripts, but at least with a quick test over here it worked fine ;)

 
I just solved it. I put the webserver folder in the engine/ folder. Now it works. I didn't understand that you meant that folder by game folder.

Do you have control panel enabled? Do what does the log contain?
 
Last edited by a moderator:
For example line 89 in MapRendering (rev 136, happened with the newest one too though, just not sure about the line there).

You declare "curFullMapPos" and then access its x attribute two lines down.

Another example would be line 184 in the getBlockNumber function, setting of block.x.

Also, the DamageSource Type seems to be missing?

Cool thing about the stop server time option, I will check/edit the script mysef for now.

 
For example line 89 in MapRendering (rev 136, happened with the newest one too though, just not sure about the line there).You declare "curFullMapPos" and then access its x attribute two lines down.

Another example would be line 184 in the getBlockNumber function, setting of block.x.
Hm, just read the .NET doc on structs ... you don't have to explicitly initialize it with new or anything but it looks like it's preferred to do so (x and y are written first in all cases so it does not matter for execution but it seems your compiler does not like it anyway). Added default initializers. Please tell me if that fixed your errors.

Also, the DamageSource Type seems to be missing?
Does it not compile or is it just highlighting or something around these lines missing in the editor? E.g. MonoDevelop sometimes chokes on the types but the compiler still compiles fine as it actually is there ;)

(Assuming you ran the deobfuscator on the input AC#.dll, but without almost nothing would work ;) )

 
Thanks for the update, yes that fixed that problem. The same error occurs in the function GetWorldExtent (minChunk, maxChunk, minPos, maxPos) and getBlockNumber(block, blockOffset). After fixing those too that error disapperead, maybe you could commit the same :D .

Regarding DamageSource, its an actual error so it wont compile. I ran the deobfuscator on the original Assembly-CSharp.dll which seemed successful :D and then added it to the project.

On another topic: Is anyone else experiencing server crashes directly while/after /saveworld ?

There is no other log output indicating an error, just ends on something like "2014.08.31 16:44:19: Saving playerData for entity id: 304598".

It couldnt be caused by me calling saveworld every 10 minutes or so automatically could it?

 
hmm "whitelist add <playerID> <permission level> "

now I thought playerID would be the steam64id ... but it seems not?.. seems a bit silly if so...

no way to remotely add a new player to the server whitelist remotely without them having already been on the server to get a different player id generated (one that seems to change every time?)

could you add something? that works with steamid's as I'd rather use that

 
Thanks for the update, yes that fixed that problem. The same error occurs in the function GetWorldExtent (minChunk, maxChunk, minPos, maxPos) and getBlockNumber(block, blockOffset). After fixing those too that error disapperead, maybe you could commit the same :D .
You really should switch to a proper compiler ;)

Regarding DamageSource, its an actual error so it wont compile. I ran the deobfuscator on the original Assembly-CSharp.dll which seemed successful :D and then added it to the project.
Hm, then it should be there. I can compile it too ;)

On another topic: Is anyone else experiencing server crashes directly while/after /saveworld ?There is no other log output indicating an error, just ends on something like "2014.08.31 16:44:19: Saving playerData for entity id: 304598".

It couldnt be caused by me calling saveworld every 10 minutes or so automatically could it?
Have never had this happen. The "savin playerdata" is when a connected player's inventory is stored for showinventory (so every 30 sec per player or on player disconnect).

hmm "whitelist add <playerID> <permission level> "
now I thought playerID would be the steam64id ... but it seems not?.. seems a bit silly if so...
Well, yeah, this command accepts only either player name or entity id (this won't change on a single server running one save game but will change on a new save or server).

There will be a more flexible way of managing players added by this mod later on.

 
Got it now Alloc, seems like the Deobfuscator release pre0.2.0 didnt give out that type yet.

I downloaded the source and then re-ran the deobfuscation, the type was recognized after that^^.

 
I added a small page about how to use the map (and only the map) with an external web server like apache.https://7dtd.illy.bz/wiki/webmap
Heh, nice :)

how does the webmap compare to the other mapping tool?
Well, Cumu's tool is for offline rendering (e.g. could be run like once a day, requires the game to be shut down to be sure to not kill anything) but is *really* fast at rendering the whole world.

The mod aims at rendering live as players walk around so basically you get a map that is never older than 1 second. In return the full map render command is slow as hell but you should never need to run that if you have the live rendering starting from when you start a new save game.

Got it now Alloc, seems like the Deobfuscator release pre0.2.0 didnt give out that type yet.I downloaded the source and then re-ran the deobfuscation, the type was recognized after that^^.
Oh, yeah, think I forgot to add a release package when updating the ManualDeob-lib, sorry ;)

 
Well, Cumu's tool is for offline rendering (e.g. could be run like once a day, requires the game to be shut down to be sure to not kill anything) but is *really* fast at rendering the whole world.

"The mod aims at rendering live as players walk around"

for a second you almost had me willing to switch, but unless it was displaying where those players are on the map in realtime its not really needed.

i'll stick with cumu mapping tool, and using building a script to use its player tracking feature, and what you mean not to kill anything.. i have it run once 24hrs and run it manually a few times with the server on and players connected.. it only reads the files ..what could possibly go wrong :D ..?

 
for a second you almost had me willing to switch, but unless it was displaying where those players are on the map in realtime its not really needed.
Well, it's in the first stages of development ;)

Of course interaction with the map will come too, like displaying stuff and maybe also controlling some from the map.

it only reads the files ..what could possibly go wrong :D ..?
For most time it should not do any harm. But there's a slight chance that the game wants to read one of the files while it's opened by Cumu's tool and that could make the game crash. And what a crashing game would cause can never be completely foreseen ;)

 
Ist there any way to extend the give/li commands to include more items? I noticed that f.ex. concrete was missing.

And just out of curiosity, any idea when u plan on releasing the new release (with the newest server fixes)? :D

 
Is there a way to list admins / mods?

My script library is building up nicely but a much needed feature is to retrieve a list of admins and moderators, including ones added via console which to my knowledge are not saved permanently in admins.xml.

 
Last edited by a moderator:
Back
Top