Jump to content
Whane The Whip

Dedicated Servers: A guide for admins

Recommended Posts

I've been asked quite a few times how I managed to keep my server going without any resets and how I'm able to give players a welcome kit and stop them from losing items when they die. Most of the time these questions were asked in-game and it's a bit cumbersome to answer via the in-game chat box (that has vanishing text). My reluctance to explain how I've done certain things has led to the accusation that I'm trying to hoard "secrets". I do in fact want to help, just not when I'm on my server and looking after the welfare of other players. So in this guide I will answer the questions asked of me, and then some. I hope that it will satisfy anyone that needs a jump start on how to run a DS.

Nothing in this guide is a secret, a lot of server owners know about the tips and tricks available below. I'm also not an expert and since I can only have 8 players on my server, I have no problem with anyone that wants to use this guide as a template for your own DS, and if you want to add your own tips then post them to this thread, I'm always looking for a way to improve my server.

So you want to own a Dedicated Server?

The first step to getting a DS is to request access to the DS beta program. You can do that by posting your request in this thread. If accepted, you will then be sent a PM with instructions. Follow those instructions and you can have a DS up and running in under 30 minutes. I'm not going to cover those instructions in this guide since they are already well documented by the Ylands team and other Ylands community members, this guide is for running a server, not installing it. For the sake of clarification, a DS is most often considered to be a 24/7 server, so if you don't have a PC that you can leave on for 24 hours a day running the DS files, with a great highspeed connection (including upload speed) or you are unwilling to rent a hosting service, then you will probably be better off just starting a MP game directly through the Ylands client, for that you don't need any additional software or beta access, just start a new multiplayer game from the Ylands menu.

► Communication:
Once you are ready to publish your DS, make it clear to anyone browsing the list of games, where your server is located. Low latency is important for the user experience and if your server is 3000 miles away from the user, then that is going to be a factor. The easiest way to do this is to include location information within the name of your server. For example: Best Server Ever [U.S. East]. You can also be more specific, for example: Best Server Ever [Austin TX].

A key element to running a successful server is to give users the ability to communicate with you outside of the game. You won't always be logged in and even when you are, other players may not be able to find you. If there is an issue, there needs to be a way for them to reach you. A website is great, if you have one. If not, a Discord server works well too, and they are free. At the very least, you should be able to put up a thread for your server here on the Ylands forum, and if there are enough of them, maybe we can even persuade the Ylands team to give us a sub forum for listing and discussing servers (nudge nudge). Then all a user needs to do is search the name of the server here on the forums. You can also include a URL to be visible with the name of your server when viewed within Ylands, it can't be clicked though so try to keep it short and easy to type, perhaps use a URL shortening service like bitly Here is how I did it:

yf9ZQvxaR0muBbWSsZC5_Q.png

Finally, I would recommend using the word "dedicated", "dedi", or "24/7" somewhere within your server listing so that potential users understand that your server will not be shutting down after you log out. Doing this will probably get you more server guests that are looking for long-term communities, though you will always get your fair share of trolls too. But regardless of whether or not to go public or private, it's a good idea to label your server as seen above.

► Explore, Creative, or Editor World?
Most worlds you see on the server lists are generated automatically through the DS files. However you can also create an Explore or Creative world directly through Ylands, then copy that save file over to your Server folders, or to your host via FTP. When you choose a standard Explore or Creative world, then your server will reflect this in this list of servers. For example:

Tng0OEiYQe66XROVT4awEQ.png

You will notice that one of the servers in the screenshot above does not indicate that the world is an Explore map, instead it has a custom indicator type. This is done by generating a world using the editor. When you use this method, you can enter a name for your save file, this name will then appear in the column to the right of the server name as seen above. You can do this in the editor by navigating to Games > Settings:

LxPaGV08Qdm20DfUPD6Y5g.png

Note that there is also the option to store a custom screenshot and description. Both of these also appear on the list of servers when you click on one. So by using the editor, you can really make your server stand out among the others, if you wish.

► Benefits of using the editor instead of an Explore world
If you're comfortable using the editor, then you may find that the benefits of hosting a DS generated with the editor are hard to deny.

  • Decide the number of islands on your server (1 - 5)
  • Decide how small or large the islands are (they can be HUGE)
  • Decide how tall islands can be
  • Decide if the islands can include rugged terrain or not
  • Use your own seed to randomize the generation of your world (and preview the seed before generating)
  • Choose your biome
  • The use of Logics...
  • Define your own spawn point (and then build something cool there)
  • Assign welcome items for new players that join (through Roles). You can even include letters in their inventory, perhaps to list rules? Or maybe your website URL?
  • You decide what happens when a player dies, they can keep items, or only equipped gear, or all, or none at all. And you decide where they respawn, which can be different than where they spawned when they joined the server.
  • Create triggers, this can be used for mini-games, quests, or just handing out items. (Note that there is a list of triggers but they don't all currently work in a DS state)

The editor is amazing. It gives you the ability to do lots of interesting things with your DS, things that would not ordinarily be available in an early access game, and things that you would usually have to wait for a modder to create for a DS. We get these things already built in, through the editor, and yet there will still be modding down the road. However, there are currently a couple of draw backs to using the editor to create a DS world:

1. When you use a game world made with the editor, your players do not get a protective barrier. For many players this will be a deal breaker. However, it has been stated by BI that the inclusion of a PB within the editor makes sense and that they will "look into it". But for now, you will have to factor this in.

2. There are no caves. In reality, you can easily create caves using the terrain tool. A very complex, deep, and interesting cave can be hammered out in less than 30 minutes. However, in Explore, caves contain crystals but crystals don't naturally spawn there. This means, that if you want your players to have crystals, then you will have to come up with another way. You could manually place them in a cave you create, or anywhere for that matter, it just depends on how much leg work you want to put in.

► How to edit your DS game using the editor

  • Shut down your DS and Ylands.
  • Use Windows explorer to navigate to your game save* file or if you are renting a server, then FTP* to your host.
  • Copy your save file over to your Ylands SaveGames Folder.
  • Launch Ylands, open the editor, then choose your game save found under File > Open then choose the "Games" tab and select your DS game save file. (image below)
  • After editing your file, save it.
  • Copy the newly edited file from your SaveGames folder back to your DS, or FTP it back to your host and choose "Yes" when asked to overwrite it.
  • Launch your DS.

X53e9BEqSs2bMSsRAxbSTw.png

Note 1: You don't need any special software to FTP. You can use Windows explorer, just enter the FTP address in the explorer bar. If you get an error, then you may need to configure your PC to allow Windows Explorer to use FTP and you can find tutorials all over the internet, just do a search for "how to use windows explorer to FTP".

Note 2: Also note that if you create a DS server using a world generated with the Editor, then you will not be able to edit or add new Logics to a game save file once it has been launched in a DS.

Note 3: Your save game folder is found with all of your other primary folders under Steam\userdata\YourSteamId\298610\remote and includes the SaveGames, Compositions, Scenarios, and Share folders.

► Server performance
So far, I have found what I believe to be several factors that determine how well your server runs. I'm sure there are more. This is based entirely on my own experience and while I have seen others agree, there may be some points of contention:

  1. Specifications of the host Computer
  2. The size of the game save file
  3. Stuff going on in-game

1. This one is obvious, the better the specs of the host machine, the better the server will run, fast CPU's, fast RAM and plenty of it, the speed of the Hard drive or SSD, connection speed to the internet, etc...

2. The second one I have found to be a major contribution to server performance or lag, especially connection time. Every DS is composed of lots of files, but one specific file is the file that is used to save all of the information that defines the world. This file can get quite large. As more of the world is explored by users, the file gets larger. So if you are running with an Explore map that has 16 islands, the potential for this file size is very large and the larger it is, the more you will encounter odd glitches, bugs, and freezing in-game. This is another reason why I use the editor for generating the world. Currently, my DS only has two islands, however I have made the islands large. The islands are so large that 98% of all 160+ (and counting) guests to my DS that decided to build, only built on one island and for the most part ignore the other island, I'm not even using the largest island choice. But these large twin islands are more than enough for users to find a place to build, even if they want to be off on their own. Even so, it's still far less area to explore than the Exploration map that most of us are aware of.

3. This one is more a less a laundry list of issues, many of which are probably still hidden from us. Many of these items are just a matter of lack of optimization, which often comes later when developing a game. Bugs cannot be overlooked either. The bottom line is that there are tons of factors going on in-game that could be wrecking your server during early access. Here are a few:

  • Using the drill. The drill will rip through your server performance as much as it will through the terrain.
  • Using the terrain tool, esp when painting large sections, like converting dirt to rock when making a cave. I suggest making small, paced edits when using this tool, unless no one else is online.
  • Mining and chopping debri. This stuff piles up fast and users love to leave bark, woodchunks, resin, and dirt all over the place. Not only does it look ugly, but it's just more objects that have to be loaded anytime someone enters a zone that contains them.
  • Placing boats in water. Sometimes the act of placing a boat can lag the entire server until there is a restart. A good indicator of any water related lag/issue is when you experience the water glitch, this is when the water seems to move normally then suddenly races to catch up. Unmanned boats will also be seen struggling to move with the water as apposed to moving fluidly as you would see in a single player game.
  • The more players that are online, the more your server will lag. This isn't as much a RAM issue as it is an early access issue. I've seen some server owners intentionally keep their max player slots down to 5 or 6 to compensate. There is a noticeable difference between 2 users and 8 users logged in and every time someone logs in, you can feel it. There is also a performance conflict when someone is logging in at the same time as another, and when someone is logging in at the same time someone else is logging out. If you ever get stuck logging out, it is probably because someone else was logging in at the same time and the only way out is to force Ylands to shut down. Meanwhile, other players are usually immobile while the server works out the details. The DS does not announce when someone has logging in, but you will still get the message and the longer the server has been running, the more obvious the lag spike.

 

► How to manage server performance

I've seen several DS owners mention that they can't run their server more than a few days without having to reset and start all over again. This is annoying for any DS because the idea behind a 24/7 server is that you can continue to grow the server over time. My DS has had its ups and downs, but over time, I've found that through daily maintenance, the server has managed to last. I'm not necessarily claiming that these are the keys to a better performing server, I'm just saying that this is what I've done, and the server still runs pretty well with most lag being felt near spawn because most people have built there, community style. For this reason I recommend that you place spawn away from where you think players will build, you can decide where to place a spawn point with the editor, but once you launch the server, you can no longer change the spawn location. So in my case, I'm stuck with too much lag at the spawn point so in many cases, new guests have a bad initial experience with lag. This is what I do...

1. I don't use an explore world. The explore world is too large, there is too much to explore and that contributes to lag and the size of the game save file. It's also very difficult to perform clean up of discarded tree and mining debri when the debri could be spread out over the space of 16 islands. If you recall during the early days of Minecraft servers, there was a similar problem and this is why lots of server admins limited the size of their world with a world border. Perhaps in time Ylands will improve with this regard and be able to handle larger worlds. And perhaps in time we will get some convenient commands like /removeall <item> to remove discarded and non placed items like bark and dirt.

2. I restart the server twice a day, every 12 hours. This seems to help a lot. Especially after a busy period in which there were a few hours of max character online at once. My restarts are automated but if it seems like it needs it, I'll do another manual restart here and there.

3. Every two days I perform a corpse cleanup. This seems to help a lot, especially if there are a lot of dead players at spawn. The more players (dead or alive) at server spawn the longer it takes for new users to login and the longer it takes to login, the longer other players are frozen and immobile. BI even mentioned that the dead players situation is an interesting situation and in my view, it's far more complicated than what I'm summarizing here. Currently, the only way to move or delete a corpse, or a player that is still alive, is to use the editor. This means that you have to shut down your server and Ylands, then pull your DS game save file into your Ylands Game Save folder, then open the editor and go to work. This could take 15 minutes, or it could take hours. In my case, my two islands are near each other so I can usually do this in 15 to 30 minutes. I read in another thread that another DS admin spends 2 hours every day to do this on an explore world.

Corpse Removal
uuEO5EXrR8eCYUD0rFu42g.png

However, it is important to note that if you delete a corpse, then you are also deleting player data on your server. In my case, players don't drop inventory when they die, however, if I delete a player, and they return on another day, then all of their inventory is gone and they don't get a "respawn" choice, they have to restart. However, most servers are setup so that players lose items when they die so for them, this will not be an issue, you will be able to delete the corpse without any interruption to the player. Without death drops, I will typically only delete people still in their whitey tighties. Otherwise I move them to a graveyard that is reserved for corpse cleanup days. I will also move inactive players that are still alive, but have logged out near spawn, or on someones base, assuming I know the people that are building that base (I wonder what they think when the login and see themselves alone in a mass grave of dead players). Live players and corpses alike get in the way of other players that are constructing buildings, so this not only helps with performance, but it helps out your core/active members too. Some players intentionally log out on a doorstep just to troll the owner of the house with their body getting in the way, offline player characters (OPC) are an interesting game mechanic, but it can also be very annoying.

4. I also clean up debri, daily. And yes, I login daily. Even on days I don't feel like playing I will still login during the morning, at around noon, late afternoon, and once in the evening just to make sure there are no issues, that the server does not need a restart, and say hi to the regulars and make sure they don't have any issues. I clean up debri both in-game using the annihilator and also in the editor. And it's more than just mining and tree debri, people do odd things and leave messes sometimes, intentionally and unintentionally, I clean it all up. It not only helps the world to run better, but it makes it look nicer too.

5. I communicate to the core group of players the fact that I perform daily maintenance. This will be encouraging to your core group of players and in turn they will be more careful about leaving debri. Mention specifics to them too, let them know for example that the drill causes lag so that when they use it, they will use it only when needed.

6. Kick and Ban. Lots of players will intentionally troll your server and your members, it's nice to be patient and give warnings, but when you encounter people that clearly play to do nothing more than create problems, then don't be afraid to ban them. These types of people offer nothing of value and contribute to lag and will also do things to intentionally create lag. You may also need to consider handing over admin rights to another trusted user or 2 for the purpose of handling anti-social behavior when you're not around to help.

7. Fix grief. Part of keeping the good ones and getting rid of the bad ones involves repairing grief. You will want the usual set of in-game tools for this and to be able to replace broken blocks. You can give yourself the cube by dropping it next to your character in the editor, then logging in to equip it. You can even go as far as to create compositions for user builds to restore if need be without doing a server wide roll back.

No matter how much maintenance you do, you will still get lag and performance issues at varying degrees. The bottom line is how much work you put into creating the world, and maintaining the world. If you just want to let the DS generate the world while you do nothing more, then you can count on your server having a very short life span. Maybe later the DS system will be more forgiving, but for now, attention is your best tool.

Edited by Whane The Whip
  • Like 1
  • Thanks 2
  • Upvote 2

Share this post


Link to post
Share on other sites

Wow this great input!

Do you have a link to a description on how to fix servers settings?  E.g. keep inventory on death?

Thanks and great job!

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×