top of page

Jak działają nasze światy hostowane

Zdjęcie autora: Marcel Dütscher
Marcel Dütscher
5 lip
1 minut(y) czytania

Twój własny świat w internecie, do którego znajomi mogą dołączyć w każdej chwili — bez konieczności stawiania przez kogokolwiek serwera. Taki jest pomysł naszych Światów hostowanych, a w tym artykule pokażę ci, co naprawdę dzieje się za przyciskiem „Graj” w portalu.


Sercem wszystkiego jest WorldHost: mała usługa na naszym serwerze, która zarządza światami. Każdy świat działa we własnym kontenerze Dockera — w pełni odizolowany, z własnym plikiem zapisu, własnym limitem pamięci i własnym limitem procesora. Gdy nikt nie gra, nic nie działa: świat śpi, kontener jest zatrzymany i nie zużywa zasobów.


Gdy ktoś kliknie „Graj” w portalu, dzieje się tak: WorldHost najpierw sprawdza, czy w ogóle możesz dołączyć — w przypadku światów chronionych hasłem hasło jest sprawdzane zanim świat zostanie obudzony, więc nikt nie może uruchomić cudzego świata samymi próbami dołączenia. Dopiero potem startuje kontener, świat wczytuje swój zapis, a ty dostajesz krótkotrwały token dołączenia dokładnie do tego świata. W międzyczasie portal pokazuje ci status „Budzenie świata…”.


Gdy wszyscy gracze opuszczą świat, po jakimś czasie znów zasypia — zapis zostaje zapisany, kontener się zatrzymuje. A jeśli wolisz grać dalej w swoim świecie lokalnie, możesz pobrać zapis i później wgrać go z powrotem: zapis Świata hostowanego jest taki sam jak zapis gry lokalnej.


Całość jest celowo zbudowana skromnie: bez Kubernetesa, bez chmurowej magii — jeden serwer, Docker i usługa, która uruchamia i zatrzymuje kontenery. Jak na rodzinny projekt zaszliśmy zaskakująco daleko. Jak daleko dokładnie i ile kosztuje taki serwer — to historia na artykuł o naszym VPS-ie.

Ostatnie posty

Zobacz wszystkie

Komentarze


Komentowanie tego posta nie jest już dostępne. Skontaktuj się z właścicielem strony, aby uzyskać więcej informacji.
bottom of page