Energritz_ 107 Posted February 10, 2018 (edited) My goal in this thread is to work out some of the performance issues that servers have or MP has... After being on this forum for awhile now, and from what i have seen on the forum and my experience of running a server I want to reach out to other server operators to get their opinion of the matter(s). This is what i have learned from other operators that seems to be uniform for all servers: TL:DR : Click on some other thread. no TLDR here. Players AFK / Spawn / Dead bodies: This seems to be a universal issue, where being at spawn or just trying to login, having any of these entities lying around, takes a performance hit, ranging from additional loading times to Disconnecting at spawn because too many entities just sitting around this is not only just applied to living players but dead ones too, When a player inevitably dies, everything on said person is dropped (unless you use a custom map with custom rule sets, even then that has some cons for a public server, e.g no PB) if that said person had been gathering resources/materials for some time, think of the amount of items just lying around.. This also takes up CPU cycles for processing, eventually bogging down the server. Resolution: Admins that are active have done their best to Move / Remove corpses in and around spawn areas on their respective servers. Moving AFK / White living players to different location other than spawn range helps with this, sometimes opposite sides of the yland or even a graveyard of sorts.. Then there's the guys lying in the dirt, if they are white (aka no gear) and haven't moved for some time, the assumption is made that they are no longer interested in returning, this is where "corpse cleanup" comes into action, while i personally hate doing this, but unfortunately for these guys they are taking up performance in CPU cycles... Vigilant Admins will have a schedule to "cleanup" said entities. Player Item littering This can be seen everywhere, and its probably the nature for this type of game, while out and about in the world, you will inevitably see items just lying around, holes in the ground, dirt and resources just lying around it, then there's trees, stumps and wooden pieces with bark, sticks, resin, seeds, just lying about being ignored.. even mountains having chunks taken out of them, and leaving waste around.. While i can't really fault the players on this one, since deleting things can be chore and not everyone wants to pick up their mess (even though they should) i believe this is probably a bigger factor in causing issues and lagg/stuttering that servers have. Resolution: Manual cleaning.. this is a very long and daunting task for an Active admin of any server. And heres a very big problem with servers at the moment: The Lack of Garbage Collection , now remember all those items and corpses just lying around? well this is why. Garbage collection in simple terms is self cleaning of the world, E.g If someone drops a bunch of items on the ground, doesn't matter what it is, it should in theory after say 5mins? disappear automatically like in many other similar games. Garbage collection in this sort of game is a vital necessity, without it well you are seeing what happens to servers over time.. Degradation and eventually a wipe or worse closure. Not only do items just sit and waste performance, any resources that have been mined just leave ugly holes in the ground not regenerating, in addition to adding Garbage collection, natural regeneration is probably a must, at least on the spawn ylands, this is needed for new players to progress otherwise they will be "stuck" and probably just leave. which leads me into my next topic. Regeneration of Vegetation / Resources Unfortunately for ylands there is no regeneration currently (exception for fruit bearing plants, animals), which is a bit sad for multiplayer.. even more so for servers. This includes, Trees, Plants, resources in the ground. This becomes a major problem for servers after a fresh map is made.. Early players (that joined in on a fresh map) will have taken all the resources and (probably) kept some for their selves for exclusive use. (not uncommon) When new players join they wont have the necessary resources, such as iron, coal, and even cotton is needed leave the starter yland as cotton is needed to build some items to progress to leaving the yland, when they realize this and get no help, they will leave, because why bother playing if you can't progress? makes sense. Resolution: Manual Regeneration.. albeit a bit of a guessing game.. . Manual regeneration by an admin is picking the right resource and the right spot (or hole) that a player has taken, sometimes the entire area is picked/dug out clean, its basically picking the lottery of what gets replaced, on some occasions resources will remain and you can take and educated guess and replace that resource, but this task of finding and replacing is probably the most time consuming of all. Especially if you have ylands in excess of 6 or more, which unfortunately for me i do on my server, but i do it for the players and our little community, to keep things sailing along, I'm sure other admins probably do the same.. I hope. SaveFile Growth Theory There has been numerous posts about servers crashing out and resetting due to hitting a limit of sorts in relation to the Save File size. While this could be just pure speculation, it might actually have something to do with performance. Ylands has just one file that saves absolutely everything...which is just plain bonkers in my opinion.. Sure i guess it makes it friendlier, importing saves for the single player group, but i don't really care for single player, again that's just me. However think of it like this, All those items on the ground, Ground modifications, Ocean modifications, structures, Players, inventory's, Chests with inventories... ships, cars... Player maps (more on this later) are being saved just to a single file... if this doesn't spell out performance issues... then it's just poorly made.. To me personally this will be most definitely be the cause of more performance issues.. i have not heard other games doing this, i have hosted several servers of other similar games, they never shoved all the data into a single file.. and they probably get why as well. There is also the issue of Player maps... Once discovered there is a theory that data is being written to the file, however, when the player logs out the discovered map is gone and is blank when they return, but the data collected remains stored inside the file, thus when the player makes more discoveries on the map , data just will fill up more space.. now increase this for how ever many players you have.. watch your file size and see if it grows.. Naturally the file size will grow over time, such as discovering new ylands previously undiscovered.. but that should be all, in exception of maybe items and world generated objects. There is also another theory that, while the File size grows, It becomes more harder to connect successfully to servers, ending in more "Host unreachable" moments... Downloads fail and the "Blue sky" of waiting between Established connection and Downloading is really nerve wracking at times, especially if you have these problems.. Resolution: Split World object data ( trees, resources, ground modifications, oceans, animals, generated structures, etc ) dropped items to a world file, and the rest into per character files, which includes players maps, items, inventories, player structures, which includes any chests/containers/boxes attached the player when placed. I believe if this was done properly, performance of the server and game would improve dramatically, not having everything restricted will not overly bog things down. The server would only have to worry about the world more often than not, freeing up cycles for speedy processing of only characters that are active, not having to go through everything including everything above and offline characters. Again this is just my idea of what could be a great idea, in practice its up to the Dev's to make or break the game. This currently what i can come up with that's probably most pressing issues with the servers currently, if other operators have any other ideas/theories please drop a line. Edited February 10, 2018 by Energritz_ Spelling :) Share this post Link to post Share on other sites
SyxtySyx 184 Posted February 10, 2018 I don't know much about it, but what I have heard, is that "MAPS" are a huge file size hog. for instance, If you place a map in a boat for decor after you have sailed the seven seas, it retains in it's item file so much information as to add several times the information to your save file. So like place a map with a lot of info in it in a boat and test the file size vs the same boat with no map in it. Could there be a correlation to maps within players inventory? Or even corpses? I know that maps are pretty bugged in Multiplayer, and it might go a long way to tell players not to even create a map in the first place until the devs figure it out. Share this post Link to post Share on other sites
Energritz_ 107 Posted February 10, 2018 21 minutes ago, SyxtySyx said: I don't know much about it, but what I have heard, is that "MAPS" are a huge file size hog. for instance, If you place a map in a boat for decor after you have sailed the seven seas, it retains in it's item file so much information as to add several times the information to your save file. So when the map is placed as an object e.g on a wall or similar, it keeps the record of where it's been? This would indicate that the persistence side of things is working at least. I actually did not know that, however i just used propeller pack to get around now, i have a ship but its steam powered and nothing built on it.. guess i need to check this out (on a closed server) The thing is players will do what they want, regardless if you tell them not too, it's something admins can't enforce for now, not until we can customize whats not allowed to be obtainable or craftable. Share this post Link to post Share on other sites
SyxtySyx 184 Posted February 10, 2018 (edited) 1 hour ago, Energritz_ said: So when the map is placed as an object e.g on a wall or similar, it keeps the record of where it's been? This would indicate that the persistence side of things is working at least. I actually did not know that, however i just used propeller pack to get around now, i have a ship but its steam powered and nothing built on it.. guess i need to check this out (on a closed server) The thing is players will do what they want, regardless if you tell them not too, it's something admins can't enforce for now, not until we can customize whats not allowed to be obtainable or craftable. Keralis stated in one of his Yland videos that he had trouble uploading the ship from his series to a workshop, and figured out that the file size was humungus because of the map that he had freeplaced in the capitain's quarters. After removing the map, the file size was a fraction of the size. This is only single player reference, but if the game mechanics are the same in the multi player... Like you said, if you get a fresh map in Multiplayer every time you die or relog, and the server is saving the old map info somewhere and stacking it, it would grow a file size like crazy. Edited February 10, 2018 by SyxtySyx Share this post Link to post Share on other sites
WijkagentAdrie 384 Posted February 10, 2018 I'm all against automated clean ups. I'm not really sure how having items laying about should increase lag as the amount of objects (trees, dozens of different types of plants, seashells, sea plants etc.) are already present. The total amount of rubbish items only accounts for up to roughly 5-10% of the loaded game items in my experience. Unless there is a difference between pre-spawned objects and dropped objects (how would human planted plants be seen?), I don't really feel this is a problem. Adrie Share this post Link to post Share on other sites
kimbuck 746 Posted February 11, 2018 A lot could be helped by "tidy" players... I for example remove tree stumps after chopping a tree down and replace it with one of the seeds dropped. Also when mining i collect all my dirt and any small unused stones... and do not leave them "floating" around the quarry site. If i see a dropped older tool eg wooden spade axe pick ...in the middle of nowhere, i will collect it and dismantle it .. the wooden pieces help fire kilns stoves and steam engines Also if i "clean out" a small ore body i often fill the hole with gravel or dirt. I guess it depends a lot on the attitude of the player... its obvious that some are there to chop dig and shoot.... Share this post Link to post Share on other sites