Minecraft beta-Server
Das Spiel Minecraft kennt man ja inzwischen. Wirklich nett ist dabei der Survival Multiplayer Modus (SMP). Problem ist nur, dass dieser in Java dahingerotzte, offizielle Server einfach mal scheiße ist. Der hat faktisch kein vorhandenes Speichermanagement und nach einer Weile hat die Java-VM allen RAM für sich alloziiert. Langsam und absturzfreudig ist er zudem auch noch. Dafür ist die Implementierung logischerweise die Feature-reichste… aber es gibt neben dem offiziellen Wiki noch ein nettes, kleines Hacker-Wiki. Das hat eine hübsche Seite zu alternativen Servern, die allesamt den Vorteil haben, dass sie viel schneller und sparsamer als die offizielle Implementierungen sind.
MCServer
Closed-Sorce, läuft auf Linux, Mac und Windows und ist auch einigermaßen performant. Das Teil ist in C++ geschrieben und erlaubt Skripting mittels Lua. Problem: es existiert keinerlei Dokumentation. Also wirklich GAR NICHTS. Man hat diverse undokumentierte Konfigurationsmöglichkeiten: banned.ini, items.ini, settings.ini, users.ini, whitelist.ini, groups.ini, monsters.ini, terrain.ini und webadmin.ini. Hier mal Auszüge von monsters.ini und terrain.ini:
[Spider]
AttackRange=5.0
AttackRate=1
AttackDamage=1.0
SightDistance=25.0
[Chicken]
AttackRange=5.0
AttackRate=1
AttackDamage=1.0
SightDistance=25.0
[Terrain]
HeightFreq1=0.100000
HeightFreq2=1.000000
HeightFreq3=2.000000
HeightAmp1=1.000000
HeightAmp2=0.500000
HeightAmp3=0.500000
Alles klar. Kinderspiel, den Server einzurichten. Das traurige dabei ist, dass das wohl der vielversprechendste Server für beta ist. Aber ohne Doku geht da einfach nichts. Der Terrain-Generator ist auch nicht wirklich hübsch – ein default noise und fertig. Viele Blümchen, ein paar Hühner. Endloses Meer. Nicht sonderlich aufregend. Da reißen es auch nicht die netten Plugins wie fliegender Teppich und Area locking. Hier das Wiki.
Bravo
Ein in Python geschriebener beta-Server, der Twisted als Backend nutzt und einigermaßen performt. Installieren lässt der sich relativ einfach mittels pip install Bravo und optional mit pip install ampoule (soll Geschwindigkeit bringen) ergänzen. Gestartet wird er dann mit twistd -n bravo. Konfiguriert wird er über eine bravo.ini, deren Vorlage man sich am besten vom offiziellen GitHub-Repo holt. Eine hübsche Doku existiert ebenfalls.
Probleme, die mir aufgefallen sind: der Terrain-Generator setzt sich aus Plugins zusammen und generiert entweder sehr langweilige (normale) Landschaften oder verkackt es dermaßen, dass es unspielbar wird (complex statt simplex). Außerdem wachsen zu Beginn keine Bäume, obwohl Setzlinge eingepflanzt sind. Man muss diese zuerst einsammeln und neu aussähen. Danach werden diese getrackt; selbiges für Grass. Wie üblich, auch auch Bravo ein Webinterface auf :8080 mit kompletten Kartenrendering und allerlei nützlichen Informationen.
Tiere und Zombies wurden auch noch nicht implementiert – wobei es einen Pull Request für eine simple AI für die Tierchen gibt. Der Baumwach-Prozess ist übrigens auch noch nicht final.
Mineserver und Schlagwetter
Sind zwei Implementierungen in C++, die allerdings ebenfalls keinen Support für Mobs (das sind die Tiere und Zombies) bringen, aber dafür wieder sehr performant sind. Gerade Schlagwetter sieht doch recht professionell aus. Aber für einen produktiven Minecraft-Server ist keiner geeignet. Wie allgemein kein alternativer Server… und weitere sind mir nicht bekannt. So muss ich weiterhin hoffen, dass mir der offizielle Server nicht meinen VServer killt.