Jump to content

How to Administrate a Server


RobertJohnson

Recommended Posts

Hello everyone, this post will explain how to do things as an admin on your server (please note it'll be for build 25).

 

When you first launch your server, or if no "admin" account exist, a password for the user 'admin' will be asked in your console.

 

Once your set 2 times the password, the admin user=admin password=yourpassword will be created, you can now log with it and administrate the server (create user, create admin, spawn items, etc.)

 

Once you logged with him, you'll have access to some commands, to have a full list type /help in the chat.

 

Every command have to be entered directly in the chat, press "t" and then /youroption.

 

Server host can also manage their server directly via the console (no need to type the "/" for the commands), example  :

259v152.png

 

 

1) Administrator Commands

adduser = Use this command to add a new user in a whitelisted server, use : /adduser "username" "pwd"

save = Save the current world

quit = Quit the server (but save it before)

chopper = Start the choppers (do noise on a random player)

gunshot = Start a gunshot (do noise on a random player)

startrain = Start rain on the server

stoprain = Stop rain on the server

grantadmin = Grant the admin rights to a user, use : /grantadmin "username"

removeadmin = Remove the admin rights to a user, use : /removeadmin "username"

reloadoptions = Reload the options on the server (servertest.ini) and send them to the clients

banuser = Ban a user, add a -ip to also ban his ip, add a -r="reason" to specify a reason for the ban, use : /banuser "username" -ip -r="reason", ex /banuser "rj" -ip -r="spawn kill"

unbanuser = Unban a player, use : /unbanuser "username"

kickuser = Kick a user, add a -r="reason" to specify a reason for the kick, use : /kickuser "username" -r="reason"

addalltowhitelist = Add all the current users connected with a password in the whitelist, so their account is protected.

addusertowhitelist = Add the user connected with a password in the whitelist, so his account is protected, use : /addusertowhitelist "username"

removeuserfromwhitelist = Remove the user from the whitelist, use: /removeuserfromwhitelist "username"

showoptions = Show the list of current Server options with their values.

changeoption = Use this to change a server option, use : /changeoption optionName="newValue"

godmod = Set a player invincible, if no username set it make you invincible, if no value it toggle it, use : /godmod "username" -value, ex /godmod "rj" -true (could be -false).

invisible = Set a player invisible zombie will ignore him, if no username set it make you invisible, if no value it toggle it, use : /invisible "username" -value, ex /invisible "rj" -true (could be -false).

additem = Add an item to a player, the username isn't mandatory, if you don't specify it the item will be added to you, use /additem "username" "module.item", ex : /additem "rj" "Base.Axe"

createhorde = Use this to spawn a horde near you, use : /createhorde count, ex /createhorde 150

changepwd = Use this command to change your password, use : /changepwd "previouspwd" "newpwd".

servermsg = Use this to broadcast a message to all connected players, use : /servermsg my message !

players = List the connected players

clear = clear the console.

nightlengthmodifier = Set modifier for night length (1.0 = normal, 0.5 = half, 0.0 = no night : /nightlengthmodifier <delta> !

addxp = Add experience points to a player, use : /addxp \"playername\" perkname=xp, ex /addxp \"rj\" Woodwork=2

teleport = Teleport to a player, once teleported, wait 2 seconds to show map, use : /teleport \"playername\", ex /teleport \"rj\"

sendpulse = Toggle sending server performance info to this client, use : /sendpulse");

noclip = A player with noclip won't collide on anything, if no value it toggle it, use : /noclip \"username\" -value, ex /noclip \"rj\" -true (could be -false)

dragons // ???????????????????

 

Remember to type /help to have a full list or /help command to have the help tooltip for this command.

 

I *may* have put some easter eggs in there... But they won't appear in /help ;)

 

 

2) Server Options

The server options are stored in the Users/Zomboid/Server/servertest.ini file, it can be changed directly inside the .txt with an additional reboot of the server, or manually in game with the /changeoption optionName=value and after the command /reloadoptions.

 

This is the list of the current Server Options :

 

 

PVP = true //Enable PVP.

PauseEmpty = false //If true the server won't update if no players are on it (farming won't progress, etc.)

GlobalChat = true //Enable the Global Chat (/all command in chat).

Open = true //Open to all (no whitelist)

ServerWelcomeMessage = <RGB:1,0,0> Welcome to Project Zomboid MP test ! to chat locally press \"t\", to global chat press \"y\" or add \"/all\" before chatting <LINE> Press /help to have a list of server commands <LINE> <RGB:1,1,1> //Displayed message in the global chat when a client connect.

LogLocalChat = false //Log the local chat in the chat window (client side).

AutoCreateUserInWhiteList = false //If you server is open, this option will allow the server to create the user in whitelist if they entered the server with a password, so his username will be protected.

DisplayUserName = true //False = you won't see another players username on top of their head + their name won't be logged inside the local chat

SpawnPoint = 0,0,0 //Use this to define a custom spawn point instead of the random one from character creation.

SafetySystem = true //Allow the user to change their safety (if false and if PVP=true, then the safety will always be off).

ShowSafety = true //Allow the players to see if someone have his safety off with the skull icon.

SafetyToggleTimer = 100 //When the player disable safety it take some times before HE enable it (tho the other players see it instantly), define it here

SafetyCooldownTimer = 120 //Every time you hit someone in safety off, add this timer to the cool down before you can actually toggle safety off

SpawnItems = //Add spawning items to new player, ex : Base.Axe,Base.WaterBottleFull... (every item need to be separated by a ",")

DefaultPort = 16261 //Default port used by the server

Mods=BedfordFalls;AnotherMod... //Used to add mods to your server, like maps or other things, player will NEED to have this mods installed.

DoLuaChecksum = true //Do the lua checksum

Public = false //If true send the info of the server to pz.com to be visible in the public server list

PublicName = //Required for public server

PublicDescription = //Optionnal, for public server

MaxPlayers = 64 //Max players who can connect on the server (admin can by pass this)

PingFrequency = 10 //Time between each client ping, in second

PingLimit = 400 //Ping limit before being kicked, need to be 5 time over, in millisecond, 0 disbaled it.

HoursForLootRespawn = 0 //Enable loot respawn if > 0, then the zone need to be unseen for X (this parameter) hours before respawn loot in it.

MaxItemsForLootRespawn = 4 //For the loot respawn, if a container have more items than this number, it won't respawn loot (use it to limit respawn in safe house for example..)

HoursForZombiesRespawn = 0 //Enable zombies respawn if > 0, then the zone need to be unseen for X (this parameter) hours before respawn zombies on it, only on road.

IncreaseZombieRespawnBy=0 //Ammount of additional zombies you want to have spawned if HoursForZombiesRespawn > 0. Example, an area spawns a default of 10 Zombies. You have IncreaseZombieRespawnBy=20 -> The area will spawn 30 Zombies (10 naturally and 20 additional zombies).

DropOffWhiteListAfterDeath=false // If true, will remove the player's entry in the white list after his death, need to have white list enabled.

NoFireSpread=false // If true, the fire won't spread

AnnounceDeath=false // If true, everytime a player die a message will be displayed in the chat

AllowDestructionBySledgehammer=true // introduced in build 32, If false this won't allow the use of the sledgehammer to destroy stuff

SteamScoreboard=false //hides the Steam Avatar and profile name in the scoreboard. Can also be set to "admin" so only admins can see them. Set to "true" to display it for everyone to see.

KickFastPlayers=true //auto-kick players moving around the map too fast

ServerPlayerID=1401685174

RCONPort=27015 //select the port for the rcon connection

RCONPassword= //select rcon password

WorkshopItems= //list Workshop Mod IDs for the server to download. Separated by a semicolon. Example WorkshopItems=514427485;513111049

SteamPort1=8766 //sets up the first Steam port used

SteamPort2=8767 //sets up the secondSteam port used

SteamVAC=true //Enables or disables VAC protection

Password=HAILKINGSPIFFO //Players can only connect to the server if they have the password. In this example "HAILKINGSPIFFO".

So let's say I want to stop the PVP on the server without reloading, I log as admin or use the console, and do :

  /changeoption PVP=false
And then

  /reloadoptions
3) Logs

The host will have several logs to help him track down cheater, abusing admin, etc.

 

The logs are located in Users/YOU/Zomboid/Logs/ folder, everytime you reboot your server new logs are created (like this : dd-mm-yyyy_hh-MM_loggerName.txt) and the previous one are put inside a backup folder (like logs_dd-mm-yyyy/).

Everytime a logs size is > 10mo (will be configurable) a new logs is created.

 

For now we have 2 logs, an "admin" one and a "pvp" one.

The admin one will log everything that an admin do, few examples :

[12-12-2014 17:25:58] user RJAdmin enabled godmod on Chris.[12-12-2014 17:27:32] user RJAdmin added Base.Axe inside Andy's Inventory.[12-12-2014 17:28:16] user RJAdmin banned ip 192.168.5.12 (Robomat).
The pvp one will log every safety toggle and pvp action from players, few examples :

[12-12-2014 17:25:58] user Chris toggled safety off.[12-12-2014 17:27:32] user Chris hit RJ with an Axe.[12-12-2014 17:27:33] user Chris hit RJ with an Axe[12-12-2014 17:27:34] user Chris hit RJ with an Axe[12-12-2014 17:27:35] user Chris killed RJ.[12-12-2014 17:29:41] user Chris toggled safety on.
Link to comment
Share on other sites

That's what I thought, though I was kind of hoping the server would be smart enough to know if the string you typed in matches more than one person's name and could just tell you to be more specific, but would work if there was only one user with "crazy" in their name. That way nobody can name themselves "Mizkitlitzpatrick" or something just to be annoying to kick/ban. Or "IIIIIlllIIllllIIIIIllIIlIlIlIlIIIll". :P

Link to comment
Share on other sites

You could remove the admin user from the db, and it'll be created again, you mean like forgot the password ? The whole point of it is to define multiple admin, and yeah, you still have the .db to administrate :)

 

So the admin user is created at launch ? If I shutdown the server after it started, can I edit the admin password in the .db file or do I have to use the /changepwd command ?

 

Also, the structure of the whitelist table in the .db file will be changed with this update, right ?

Link to comment
Share on other sites

 

You could remove the admin user from the db, and it'll be created again, you mean like forgot the password ? The whole point of it is to define multiple admin, and yeah, you still have the .db to administrate :)

 

So the admin user is created at launch ? If I shutdown the server after it started, can I edit the admin password in the .db file or do I have to use the /changepwd command ?

 

Also, the structure of the whitelist table in the .db file will be changed with this update, right ?

 

 

You can edit the password in the db file if what he says basically means that the admin is just a user login, like a whitelist. I'd also wager that the db file setup will change.

Link to comment
Share on other sites

@RobertJohnson.

 

Is it possible to have a GUI for the admin tools. I mean when we press ESC and go to the players section. It shows us all the players that are connected to the server. You have to take into consideration that some names will be so badly written or so that typing them would be near impossible, especially if Unicode is involved.

 

A kick/ban button from the players list itself for admins would be a much welcome addition. I only suggest this because I do admin a few other game servers and this is the usual kind of issues we face, and an admin menu system that list players helps by strides.

 

Thank you for your time

-Monk.

Link to comment
Share on other sites

That's what I thought, though I was kind of hoping the server would be smart enough to know if the string you typed in matches more than one person's name and could just tell you to be more specific, but would work if there was only one user with "crazy" in their name. That way nobody can name themselves "Mizkitlitzpatrick" or something just to be annoying to kick/ban. Or "IIIIIlllIIllllIIIIIllIIlIlIlIlIIIll". :P

That would indeed be a very useful feature for a future update.

 

If you have someone with the name Crystzyfylkylpyltypyfilis, you could just enter "Cry" and press tab. It would then go through the list of people who have that name.

 

Or, even better, have some kind of onscreen menu that lets you ban the people.

There already is a player list when pressing ESC. So why not let server admins who are connected to the server ban the people directly via the UI as well :)

 

pies in the sky :3

I can feel the vibe

Link to comment
Share on other sites

 

That's what I thought, though I was kind of hoping the server would be smart enough to know if the string you typed in matches more than one person's name and could just tell you to be more specific, but would work if there was only one user with "crazy" in their name. That way nobody can name themselves "Mizkitlitzpatrick" or something just to be annoying to kick/ban. Or "IIIIIlllIIllllIIIIIllIIlIlIlIlIIIll". :P

That would indeed be a very useful feature for a future update.

 

If you have someone with the name Crystzyfylkylpyltypyfilis, you could just enter "Cry" and press tab. It would then go through the list of people who have that name.

 

Or, even better, have some kind of onscreen menu that lets you ban the people.

There already is a player list when pressing ESC. So why not let server admins who are connected to the server ban the people directly via the UI as well :)

 

pies in the sky :3

I can feel the vibe

 

 

MonkeyDrone just asked the same :D

 

Yup, it's already planned, not done yet tho ;)

 

I love quote myself.

I feel like special then.

Link to comment
Share on other sites

Haha no problem, still need to add broadcast message and other stuff.. (teleport is a mess for now, so it'll won't come now :P)

 

I'll also add a warning system, so you could add warnings for a player, so the next time he's doing something bad, you can see if it's the first time or nope...

Link to comment
Share on other sites

Haha no problem, still need to add broadcast message and other stuff.. (teleport is a mess for now, so it'll won't come now :P)

 

I'll also add a warning system, so you could add warnings for a player, so the next time he's doing something bad, you can see if it's the first time or nope...

 

I certainly appreciate that! Don't worry about it too much, I should be able to cope just fine without those commands for now. :D

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...