Cum am construit un server Minecraft ieftin și sigur pentru fii-meu (și ce-am învățat pe parcurs)

Joc Minecraft cu fiul meu de când a început clasa pregătitoare. Minecraft for Education era opțional la școală, așa că a prins gustul jocului rapid — și e genul care vrea să împartă ce știe cu cei din jurul lui. Am petrecut weekenduri întregi învățând cum funcționează jocul și cutreierând Overworld-ul în căutare de resurse.
Pe măsură ce mai mulți prieteni de-ai lui au fost atrași în universul jocului, sesiunile pe LAN cu tati nu mai erau suficiente. Aveam nevoie de altceva: un server Minecraft pe care noi și gașca să putem intra oricând, de oriunde.
Nu aveam nicio idee ce înseamnă să administrezi așa ceva. Sigur, mă pricep la servere, dar Minecraft? Teren necunoscut. Așa că am făcut ce-ar face orice părinte rezonabil - m-am afundat câteva săptămâni în forumuri, subreddituri și bloguri tehnice.
Se pare că există o metodă corectă de a face asta. Nu genul “închiriezi un server shared cu 5 dolari pe lună și gata”. Voiam ceva solid, sigur și, ideal, construit din piese rămase și chilipiruri de pe eBay.
Hardware-ul
Aici intră în scenă Fujitsu Futro.
Sunt thin clients scoși din uz de companii, care se vând pe aproape nimic pe eBay. Sunt mici, silențioase, eficiente energetic și fiabile, perfecte pentru un proiect de genul ăsta. Aveam niște RAM DDR3 de la laptopuri vechi și un SSD în sertar. Upgrade de memorie? Rezolvat.



Montajul SSD-ului a fost altă poveste. Nu vine cu kit de prindere sau suport. Așa că am făcut ce-ar face orice tată pasionat de bricolaj digital — l-am prins cu velcro de capac. Deloc elegant, dar funcționează. N-aveam de gând să scorez puncte la design.
Stack-ul de tehnologii
Am instalat Ubuntu Server și am ales PaperMC pentru performanță și suport de pluginuri. Crafty Controller se ocupă de UI și îmi permite să administrez serverul fără să intru pe SSH de fiecare dată când vreau să-l repornesc sau să schimb ceva.

Crafty Controller - inima serverului de Minecraft
Pentru compatibilitate între versiuni și platforme, am instalat ViaVersion și Geyser. Asta înseamnă că fiul meu poate juca împreună cu prieteni care folosesc versiunea Bedrock (pe mobil, consolă etc.), deși serverul rulează Java. În plus, ViaVersion ajută serverul să accepte mai multe versiuni de client Minecraft, fără să crape la fiecare update. Până acum, nicio problemă.
Securitate: pentru că tot Internetul are acum acces la server
Să fim clari: dacă expui un server către Internet, mai ales unul accesat de copii, trebuie să-l izolezi. Am pus serverul Minecraft într-un VLAN separat, fără acces la LAN-ul principal. Dacă cineva îl compromite, rămâne în izolare, fără să poată ajunge la părți interesante ale rețelei mari.
Sistemul de operare e actualizat cu unattended-upgrades
, SSH-ul merge doar cu autentificare pe bază de chei (fără parole), și nu ruleaz nimic altceva pe mașină. Setup single-purpose. Firewall-ul permite strict ce trebuie (și nu, SSH din afară nu e printre ele):
-
TCP 25565 pentru Java
-
UDP 19132 pentru Bedrock
Și cam atât. Restul e blocat.
Rack-ul de rețea

Ce e mai bun decât un Fujitsu Futro? Două Fujitsu Futro.
Serverul Minecraft stă lângă un alt Futro care rulează HomeAssistant (două la preț de unul, transport internațional gratuit) și un HP MicroServer, toate într-un rack, izolate prin VLAN-uri și legate la un switch managed. Poate pare excesiv. Dar eu dorm liniștit.
Port forwarding și acces extern
Am făcut port forwarding în router către IP-ul intern al Futro-ului. Folosesc un serviciu de DNS dinamic pentru că am IP rezidențial dinamic. Adresa rămâne privată, dar merge perfect pentru copil și prietenii lui.
Asigură-te că deschizi doar ce trebuie. Nu vrei ca pentru niște creeper-i să-ți deschizi rețeaua casei musafirilor neinvitați.
Whitelist sau nimic
Am activat whitelisting-ul din start. Numai utilizatorii pe care îi adaug pot intra pe server. În PaperMC, se face ușor:
whitelist on
whitelist add <username>
Poți face asta și din interfața Crafty, dar eu prefer linia de comandă dacă sunt deja logat prin SSH.
Concluzii
Nu mă așteptam să-mi placă proiectul ăsta, dar mi-a plăcut. Mi-a zgândărit nervul de sysadmin, n-a costat mai nimic și copilul - împreună cu colegii - mă privesc ca pe un magician. Mai important: e sigur, funcționează, și am învățat amândoi ceva din el.
Dacă vrei să construiești în loc să cumperi, poți lua acest articol ca pe un punct de pornire. Doar nu uita să iei și velcro :).
- Mașină: Fujitsu Futro cu 8GB RAM, SSD prins cu velcro
- OS: Ubuntu Server
- Tip server: PaperMC
- Management: Crafty Controller
- Cross-play: ViaVersion + Geyser
- Securitate: VLAN izolat, port forwarding pe 25565 (și 19132 dacă e cazul), DNS dinamic, doar chei SSH
- Control acces: Whitelist activat
Glosar Minecraft pentru părinți (sau oameni normali)
Minecraft Java vs. Bedrock
Două versiuni diferite. Java e cea originală, folosită pe PC-uri. Bedrock e pentru console, mobile și Windows 10/11. Nu sunt compatibile între ele — de asta există Geyser.
PaperMC
Server performant pentru Minecraft Java, cu suport pentru pluginuri. Mai rapid, mai stabil și personalizabil. E versiunea “optimizată”.
Pluginuri
Extensii care adaugă funcționalități serverului. De la reguli personalizate la mini-jocuri sau unelte pentru admini. Funcționează doar cu servere ca PaperMC.
Crafty Controller
Interfață web pentru administrarea serverelor Minecraft. Poți porni/opri servere, schimba setări și vedea loguri fără linie de comandă.
ViaVersion
Plugin care permite conectarea clientului Minecraft în mai multe versiuni la același server. Util când apar actualizări.
Geyser
Face legătura între Java și Bedrock. Permite utilizatorilor de console sau mobil să se conecteze la servere Java.
Whitelist
Listă cu jucători aprobați. Doar cei de pe listă pot intra. Restul sunt blocați.
Overworld
Lumea principală din Minecraft. Cu munți, copaci, vaci și minereuri.
Joc pe LAN
Scurt pentru “Local Area Network”. Funcționează doar între dispozitive din aceeași rețea. Util pentru joacă în casă, nu și cu prieteni de la distanță.
Port forwarding
Configurație de router care permite accesul din afară la un serviciu din rețeaua ta. Dacă greșești aici, îți expui casa mai mult decât trebuie.
VLAN
Rețea virtuală care izolează dispozitive între ele. Practică de bază în securitate când expui ceva pe internet.
Dynamic DNS (DDNS)
Dacă IP-ul casei tale se schimbă, DDNS îți oferă un nume de domeniu care se actualizează automat. Mai ușor de accesat de la distanță.
Foto de Connor Gan de pe Unsplash