Guide:Manage a server

From Vintage Story Wiki

While the advice in this guide can apply to servers hosted via Linux etc, the specific examples will be for Windows OS.

Whether hosting a server via a hosting company or your own machine, how to be a good server admin isn't necessarily obvious.

First of all, set up protections even if you think your server is private, intended for just you and a friend. A whitelist is the most-recommended method to prevent would-be griefers from accessing your world.

Common issues

Food spoils while offline

The default serverconfig is for the world to pause when nobody is logged in. But if one person logs in, a lot of time could pass for those who aren't logged in.

Suggestion: Reduce the spoil rate. /worldconfig foodSpoilSpeed 0.5

The World Configuration page explains

/worldconfig foodSpoilSpeed [0-10]
Set the spoilage rate multiplier of all perishable foods, e.g. 0.5 means all food lasts twice as long (default: 1)

Note: It's unclear whether hides are affected by this.

The Preset_playstyles#Comparing_playstyles page shows that Exploration playstyle's setting is 0.5 (food spoils half as fast as normal, i.e. lasts twice as long before rotting), which seems a good place to start. If players are still unhappy, try 0.4, 0.3 etc.

Seasons pass too quickly

Players are understandably upset if it's spring one day and winter the next. It's particularly difficult if they didn't get a chance to prepare food etc for winter, or if their crops die due to extreme temperatures arriving while they were offline.

Suggestion 1: Increase month length.

With a default calendarspeedmul of 0.5, 1 day = 48 real life minutes. With a default daysPerMonth of 9,

Suggestion 2: Disable crop death.

While a dead crop will always yield the seed, it seems more fair to offline players to prevent time passing from killing their crops.

Somebody reports valuable(s) missing

Suggestion: Advertise rules including something like this, "Type /land claim to get instructions for protecting an area."

Manual: Use the /announce command every now and then to inform/remind players. Example:

/announce Use /land claim to protect your home and belongings.  Unclaimed items will not be replaced by admins if stolen.


Automatic: Find serverconfig.json for your server and edit the WelcomeMessage line; be careful to use quotation marks and end with a comma. Example:

"WelcomeMessage": "Use /land claim to protect your home and belongings.  Unclaimed items will not be replaced by admins if stolen.",

Th3Essentials mod enables a more robust system of automated announcements.

Ideally, make the rules easy to find, including prior to joining the server. Let players know who to contact if they have questions/concerns.

Somebody gets stuck inside a land claim

Suggestion: Teleport them to a safe location. /tp theirusername yourusername will teleport them to you.

Even without knowing their current coordinates, you can teleport them to a spot nearby, hopefully out of the claim. Example: /tp ~1 ~0 ~5 will teleport the player one block in X direction (east) and 5 blocks in Z direction (south), without affecting Y (vertical) position.

Arson

Somebody could start a wildfire that lags the server and destroys multiple bases.

Suggestion: Disable firespread. Change "AllowFireSpread": true, in serverconfig.json to "AllowFireSpread": false, (remember to end with a comma).

Maintenance

Wipes

While it's hard to know in advance how long a world with a particular cohort will last, try to make expectations clear.

If you think it might be time to start a fresh world soon, start mentioning that to players, and gauge their response. If you have a voting system, let at least 72 hours pass for players to respond, before you make a decision. If you're going to delete the worldsave soon, let players know several days in advance.

Give players a chance to export what they've built, as a schematic. As admin, use /role suplayer privilege grant exportclaims to give all survival players the ability to export their own claims. Then notify your players that they can export their own claims, to upload to singleplayer worlds. They'll need to know the "index" identifier for each claim, and use /land claim download [index] for each claim. Schematics are typically saved to %AppData%/VintagestoryData/WorldEdit as file type json. To import the file, they will need to be in creative gamemode and either activate the World Edit toolset with the ~ key, or use a /we command.

If the world isn't too large, you might be able to share the save file with players to use singleplayer. Compressing it and uploading to Google Drive might work for smallish save files.

Moderating conflicts

If you're getting frustrated with a player(s), take a break. Maybe find some people to talk about it with. Rather than feel that you need to solve the problem now, recognize that you could do more harm than good if you're not in a healthy headspace. If there's someone else available to take over, now's a good time to ask for them to keep an eye on things while you decompress.

Mod list

No matter how many mods you've selected, players will request others. You might want to clarify expectations such as "No additional mods will be added" or "To add a mod, an existing mod will need to be selected for removal." You might want to select a theme, and only accept mod suggestions that fit the theme. You might want to wait until the majority of players have reached a benchmark, and then add several mods that significantly affect content/gameplay.

Remind players that client-side mods can be added without your intervention. They will need to find the %AppData%/VintagestoryData/ModsByServer folder and locate the subfolder that corresponds to your server's IP address. Simply paste additional mods there.

I strongly recommend making accommodations for players who have issues such as color blindness, or arthritis. The Accessibility page has a lot of suggestions (involving mods and otherwise)

Create backups

Update mods

Refresh/relocate World Spawn