No description
  • Shell 86.1%
  • Dockerfile 13.9%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Dawid Ploch 103a287b24
All checks were successful
Build and Push — minecraft / docker (push) Successful in 30s
Build and Push — garrysmod / docker (push) Successful in 1m54s
Build and Push — hytale / docker (push) Successful in 9s
Build and Push — vintage-story / docker (push) Successful in 1m4s
docs: update README with production-ready architecture and features
2026-10-22 13:38:11 +02:00
.forgejo/workflows fix(ci): robust gateway IP discovery in runner without iproute2 2026-10-22 13:17:33 +02:00
docs fix: permissions 2026-05-25 10:44:57 +00:00
garrysmod fix: chown /data before mkdir (CAP_CHOWN works without DAC_OVERRIDE) 2026-06-22 12:37:08 +02:00
hytale fix: permissions 2026-05-25 10:44:57 +00:00
minecraft fix: chown /data before mkdir (CAP_CHOWN works without DAC_OVERRIDE) 2026-06-22 12:37:08 +02:00
vintage-story fix: NullReferenceException at startup 2026-07-02 12:29:48 +02:00
README.md docs: update README with production-ready architecture and features 2026-10-22 13:38:11 +02:00

ShardHost — Game Server Docker Images

Oficjalne obrazy kontenerów gier dla platformy hostingowej ShardHost.eu, zoptymalizowane pod kątem współpracy z agentem shard-rs i backendem server-rs.


🛡️ Standardy Bezpieczeństwa i Architektura

shard-rs (Węzeł) ─── montowanie wolumenu ───► Kontener Dockera (/data)
                           │
       Dostęp SFTP (chroot do /data)

Każdy obraz w tym repozytorium spełnia rygorystyczne normy:

  • Brak uprawnień roota: Proces gry jest uruchamiany wyłącznie jako użytkownik gameserver (UID 1000).
  • Zrzucanie uprawnień (gosu): Skrypt startowy weryfikuje uprawnienia katalogu danych i natychmiast zrzuca uprawnienia roota.
  • Graceful Shutdown: Poprawna obsługa sygnałów SIGTERM / SIGINT pozwalająca na bezpieczny zapis stanu gry przed wyłączeniem kontenera.
  • Odporność w CI/CD: Skrypty wykrywania bramy sieciowej w runnerach bez narzędzia iproute2.

📦 Dostępne Obrazy

Gra Silnik / Wersje Środowisko Bazowe Domyślny Port
Minecraft Java Paper, Purpur, Fabric, Vanilla eclipse-temurin:21-jre-alpine 25565 TCP/UDP
Garry's Mod SteamCMD / SRCDS debian:bookworm-slim 27015 TCP/UDP
Vintage Story Oficjalny serwer dedykowany dotnet/runtime:8.0-bookworm-slim 42420 TCP/UDP
Hytale Szablon oczekujący na premierę alpine:3.20 25565 TCP

🚀 Optymalizacje JVM (Minecraft)

Obraz Minecraft posiada zaimplementowane oficjalne flagi optymalizacyjne Aikar G1GC, zapewniające stabilny czas klatki (TPS) i minimalizujące pauzy odśmiecania pamięci (Garbage Collector):

-XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 
-XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch 
-XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1ReservePercent=20 
-XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4