====== Minecraft servers ====== {{ :games:minecraft.png?nolink&100|}} For entertainment purposes as well as availability training, the Sylphe Project hosts several [[https://minecraft.net|Minecraft]] servers, called **Realms** for convenience and consistency with [[https://mojang.com/|Mojang]]. ===== Service providers ===== ==== Primary ==== * [[servers:hyrule|Hyrule]]: server hosting, local backups * [[servers:tyria|Tyria]]: server hosting, local backups ==== Secondary ==== * [[servers:lylat|Lylat]]: Minecraft dynamic maps * [[servers:neudaiz|Neudaiz]]: Remote backups ===== Realms ===== * [[minecraft:angara|Angara]]: Offline * [[minecraft:ascalon|Ascalon]]: Online * [[minecraft:atteka|Atteka]]: Offline * [[minecraft:brinstar|Brinstar]]: Offline * [[minecraft:indra|Indra]]: Offline * [[minecraft:kokiri|Kokiri]]: Online * [[minecraft:kryta|Kryta]]: Offline * [[minecraft:osenia|Osenia]]: Offline ===== Configuration ===== Every Minecraft host has ports 25565 to 25568 available for Realms. Each Realm corresponds to a subdomain and a port. For an example, [[minecraft:ascalon|Ascalon]] is available at ''ascalon.sylphe.fr:25565''. ==== Standard operation and regular maintenance ==== Each Realm is run from a GNU screen with a dedicated non-privileged user. As such, it can be easily controlled remotely and via scripting thanks to ''screen -X stuff''. It is also possible with the help of ''crontab'' to set automatic broadcast messages to specific Realms. Right now it is not used. Whereas several CLI utilies are available to manage Realms, Baku decided to create his own simply called ''mine-utils'' to practise his shell scripting abilities. As the script is still in early development stages, its source code is not yet available. After some refactoring, it will be available for review and download (and maybe later pull requests) through [[services:git]]. Realms are not automatically upgraded as tests must be run to make sure no compatibility issues are raised, especially on modded ones. However, a customizable script is available to upgrade [[http://files.minecraftforge.net/|Forge]] based modded Realms ==== Mapping ==== [[http://overviewer.org/|Map overviews]] used to be generated each hour for each active server. However, due to some incompatibility with modded Realms, this service is a bit glitched and not fully supported. However, [[http://dev.bukkit.org/bukkit-plugins/dynmap/|Dynmap]] offers a better alternative and is fully compatible with our modded Realms. Dynmap has been set up during October 2015 on [[minecraft:osenia|Osenia]] and on [[minecraft:brinstar|Brinstar]] during its reset in January 2016. It is now set up on each Realm. ==== Backups ==== Each active server is backed up under the ''.tar.gz'' format once per hour for the last two days (48h). It used to be for the last 72h, however it wasn't worth the disk usage. Once the server has been archived, the latest backup is sent to [[servers:neudaiz|Neudaiz]] to make sure data is available in case something happens at [[http://http://www.kimsufi.com|Roubaix]]. A recent update to the upgrade system and the filesystem architecture allowed to reduce file corruption in backups and ensure Realm integrity. Each server is now stored on a logical volume, allowing it to be snapshot and safely archived. ===== Known issues ===== * Some mods on [[minecraft:osenia|Osenia]] leak, leading to increased RAM usage and progressive load increase as well. Right now, the Realm is gracefully restarted twice a day, notifying players each minute five minutes beforehand. * Upgrading and using the [[http://stackoverflow.com/questions/1634216/what-is-permsize-in-java|MaxPermSize]] argument in OpenJRE 7 fixed all those issues. * This workaround isn't needed anymore on OpenJRE 8.