ZimaBoard 2 Praktyczny Przewodnik Podwójnego Zastosowania: Mój Serwer + Konsola do Gier Retro

Eva Wong jest Technicznym pisarzem i stałym majsterkowiczem w ZimaSpace. Całe życie geek z pasją do homelabów i oprogramowania open-source, specjalizuje się w tłumaczeniu skomplikowanych koncepcji technicznych na przystępne, praktyczne przewodniki. Eva wierzy, że samodzielne hostowanie powinno być zabawą, a nie czymś onieśmielającym. Poprzez swoje samouczki umożliwia społeczności rozwiewanie tajemnic konfiguracji sprzętu, od budowy pierwszego NAS po opanowanie kontenerów Docker.

I. Wybór sprzętu i podstawowe wymagania

Jestem programistą backend. Wynajmowany wcześniej zdalny serwer był przestarzały i nie miał wystarczającej wydajności, przez co nie spełniał już moich potrzeb związanych z self-hostingiem. Dlatego zakupiłem Zimaboard 2 1664 z jasnymi celami: po pierwsze, zbudować w pełni skonfigurowany, z funkcją backupu, serwer domowy do self-hostingu do wdrażania aplikacji, zarządzania danymi i zdalnego dostępu; po drugie, bez wpływu na podstawowe użytkowanie serwera, wykorzystać niewykorzystaną wydajność sprzętu i przekształcić go w konsolę do retro gier typu plug-and-play, osiągając funkcjonalność podwójną i łącząc praktyczne potrzeby techniczne z codzienną rozrywką.

II. Proces konfiguracji serwera self-hosted

Wybór systemu i instalacja

Po zakupie sprzętu najpierw wypróbowałem ZimaOS, który był dołączony do Zimaboard 2. Był łatwy w obsłudze i wygodny do zdalnego dostępu, ale niezmienny charakter systemu NAS bardzo ograniczał moje późniejsze wdrażanie aplikacji. Bazując na moich nawykach użytkowania, ostatecznie zdecydowałem się przejść na Fedora Server — ten sam system co na moim starym serwerze, oferujący większą kompatybilność. Podczas instalacji jedynie wymieniłem narzędzie do tworzenia dysku USB bootowalnego z tutoriala. Korzystając z wbudowanego lokalnego WebUI i terminala Fedora Server, łatwo wykonałem pierwsze kroki przed konfiguracją SSH i zabezpieczeniami. Cała instalacja przebiegła bardzo sprawnie.

-3% OFF
Single board computer zimaboard2

Konfiguracja pamięci i backupu

Aby zapewnić odpowiedni backup danych serwera, użyłem dwóch zapasowych dysków twardych i sformatowałem je jako systemy plików BTRFS. Ten system jest zintegrowany z jądrem Linuxa, natywnie wspiera snapshoty i jest bardzo stabilny, idealnie odpowiadając moim potrzebom backupowym dla serwera self-hosted. Zapewnia też solidną podstawę do stabilnej pracy serwera.

Wdrożenie podstawowych usług

Zbudowałem kompletną usługę self-hosted na serwerze, korzystając z Docker, aby sprostać codziennym potrzebom: Jellyfin jako serwer multimediów do zintegrowanego zarządzania osobistymi zasobami audio i wideo; Filebrowser do stworzenia prywatnej chmury umożliwiającej zdalny dostęp do plików w dowolnym miejscu i czasie; oraz Karakeep do zarządzania zakładkami i notatkami, ułatwiając pracę i naukę. Zarezerwowałem też miejsce na wdrożenie serwerów Minecraft i RustDesk, aby w przyszłości móc bawić się online z przyjaciółmi oraz pomagać rodzinie w problemach z komputerami i urządzeniami mobilnymi.

Konfiguracja sieci i monitoringu

Do reverse proxy zmieniłem zwykły Traefik na Godoxy i sparowałem go z Tailscale, aby połączyć lokalny serwer z oryginalnym serwerem zdalnym, skutecznie unikając wystawiania sieci domowej na zewnątrz. Ponadto Godoxy ma wbudowany panel monitoringu, który pozwala mi w czasie rzeczywistym obserwować status CPU, pamięci, temperatury, dysku i innych parametrów serwera, znacznie poprawiając efektywność zarządzania serwerem.

Panel monitoringu serwera pokazujący skoki użycia CPU i wykresy użycia pamięci dla wielu serwerów

III. Modernizacja konsoli retro: start/stop na żądanie, bez zakłócania serwera

Trzy podstawowe zasady modernizacji

Aby zapewnić, że funkcje gier i serwera nie będą się wzajemnie zakłócać, ustaliłem trzy podstawowe zasady modernizacji: ① Nie instalować pełnego środowiska graficznego, aby nie zużywać zasobów systemowych i zapewnić lekką pracę serwera; ② Uruchamiać i zatrzymywać funkcje gier na żądanie, automatycznie kończąc wszystkie powiązane procesy, gdy nie są używane, aby nie marnować wydajności sprzętu; ③ Zapewnić prostą obsługę, tak aby nawet współlokatorzy bez technicznego doświadczenia mogli korzystać samodzielnie, bez mojej pomocy.

Główne pomysły i zestaw narzędzi

Główny pomysł całej transformacji nie jest skomplikowany. Wykorzystałem natywne narzędzia Linuxa i otwartoźródłowe oprogramowanie do gier, aby osiągnąć automatyczne uruchamianie i zatrzymywanie usługi gry wyzwalane przez podłączanie/odłączanie kabla HDMI: podłączenie kabla HDMI do telewizora automatycznie uruchamia graficzny interfejs gry; odłączenie kabla HDMI natychmiast kończy wszystkie procesy gry, przywracając czysty stan serwera — wszystko w pełni zautomatyzowane, bez potrzeby ręcznej obsługi. Wybrane narzędzia mają jasno określone role i są dojrzałymi, otwartoźródłowymi produktami łatwymi do konfiguracji:

  • reguły udev + niestandardowe skrypty Shell: odpowiadają za wykrywanie statusu podłączenia/odłączenia kabla HDMI i wywoływanie odpowiednich poleceń startu/zatrzymania usług;
  • usługa systemd: zarządza uporządkowanym uruchamianiem i łagodnym zakończeniem sesji gry, zapobiegając pozostawaniu procesów, które mogłyby wpływać na serwer;
  • Gamescope: lekki syntezator Wayland optymalizujący skalowanie obrazu gry, pozwalający starszym grom idealnie dopasować się do rozdzielczości 1080P telewizora;
  • ES-DE + Retroarch: ES-DE pełni rolę frontendu biblioteki gier, umożliwiając zarządzanie grami według kategorii konsol oraz automatyczne pobieranie okładek i opisów; Retroarch obsługuje różne emulatory retro konsol i automatycznie konfiguruje kontrolery, co czyni go bardzo przyjaznym dla użytkownika.

Praktyczne kroki konfiguracji

1. Konfiguracja uprawnień: dodałem zwykłego użytkownika uruchamiającego usługę gry do grup użytkowników takich jak input, video, audio i seat oraz włączyłem usługę seated, aby sesje Wayland mogły być tworzone normalnie, przygotowując uprawnienia do działania gier.

2. Konfiguracja wykrywania i wyzwalania: stworzyłem plik reguł udev, definiując warunki wykrywania podłączenia/odłączenia HDMI, który wywołuje mój niestandardowy skrypt shell. Skrypt zawierał logikę określającą status połączenia HDMI, pozwalając systemowi automatycznie uruchamiać i zatrzymywać usługę gry systemd na poziomie użytkownika w zależności od statusu HDMI.

3. Konfiguracja usługi gry: utworzyłem plik usługi systemd na poziomie użytkownika, definiując podstawowe polecenie dla Gamescope do uruchomienia ES-DE oraz ustawiłem podwójną logikę „łagodnego zakończenia + wymuszonego zakończenia”, aby zapobiec pozostawaniu procesów gry, które mogłyby zakłócać działanie serwera.

4. Instalacja zależności: zainstalowałem wszystkie niezbędne sterowniki sprzętowe i oprogramowanie jednocześnie, w tym zintegrowaną grafikę Intel, sterowniki gamepadów oraz kluczowe oprogramowanie do gier takie jak Gamescope, Retroarch i ES-DE, zapewniając idealną kompatybilność sprzętu i oprogramowania.

5. Aktywacja konfiguracji: przeładowałem reguły udev i... Po zainstalowaniu usługi systemd modyfikacja konsoli retro jest zakończona, a funkcjonalność gier jest w pełni zautomatyzowana pod kątem uruchamiania i zatrzymywania.

IV. Optymalizacja i debugowanie: równowaga między doświadczeniem gry a stabilnością serwera

Dedykowana optymalizacja doświadczenia gry

Aby zapewnić płynniejsze doświadczenie retro gier, szczególnie zoptymalizowałem konfigurację dla gier Wii/NGC: zrezygnowałem z uruchamiania emulatora Dolphin przez Retroarch, wybierając niezależną pracę, aby zmniejszyć narzut wydajności warstwy Libretro; dostosowałem plik konfiguracyjny Dolphin, aby zoptymalizować proporcje obrazu i logikę renderowania; oraz zaktualizowałem parametry startowe Gamescope, włączając skalowanie FSR, aby zapewnić optymalną jakość obrazu na telewizorach 1080p. Testy wykazały, że zoptymalizowana konfiguracja utrzymuje użycie GPU na poziomie 70–80%, a w pomieszczeniu o temperaturze 20℃ maksymalna temperatura urządzenia wynosiła tylko 55℃. Z oficjalnym wentylatorem chłodzenie było w pełni wystarczające, zapewniając płynną rozgrywkę bez wpływu na serwer z powodu przegrzewania.

Ekran terminala pokazujący statystyki wydajności systemu, w tym użycie CPU, pamięci i uruchomione procesy

Praktyczne techniki debugowania

Podczas modyfikacji opracowałem też zestaw prostych i skutecznych technik debugowania. Techniki te pozwalają nie tylko rozwiązywać problemy napotkane podczas modyfikacji, ale także dostosować się do emulatorów niezarządzanych przez Retroarch: używaj polecenia journalctl do podglądu logów zdarzeń udev w czasie rzeczywistym, ręcznie wyzwalaj zdarzenia zmiany statusu HDMI i testuj skuteczność reguł; tymczasowo usuń reguły udev, połącz się z urządzeniem przez SSH, ręcznie uruchom program gry i spersonalizuj konfigurację kontrolera; po debugowaniu przywróć reguły, aby wrócić do trybu automatycznego. Operacja jest prosta i efektywna.

V. Ostateczny efekt: funkcjonalność podwójna, pełne wykorzystanie potencjału sprzętu

Po serii konfiguracji i modyfikacji mój Zimaboard 2 doskonale realizuje podwójną funkcję serwera i konsoli retro: w codziennym użytkowaniu jest energooszczędnym, stabilnym serwerem self-hosted, cicho obsługującym kluczowe zadania takie jak wdrażanie aplikacji, backup danych i zdalny dostęp. Wydajność procesora  Intel N150  jest idealnie dopasowana do mojego codziennego obciążenia. W czasie bezczynności wystarczy podłączyć kabel HDMI telewizora do urządzenia, aby automatycznie uruchomić interfejs gry i cieszyć się klasycznymi retro grami takimi jak PS1 i Wii, z obsługą lokalnej wieloosobowej rozgrywki. Odłączenie kabla HDMI natychmiast kończy wszystkie procesy gry, przywracając tryb czystego serwera, bez wzajemnych zakłóceń.

(plik:15) Laptop podłączony do telewizora ściennego pokazujący ekran główny emulatora Nintendo DS w udekorowanym salonie
Laptop podłączony do dużego telewizora przez HDMI pokazujący rozgrywkę Mario Kart Wii na podzielonym ekranie w salonie

Ta konfiguracja i modyfikacja Zimaboard 2 pozwoliła mi w pełni wykorzystać potencjał sprzętu i ponownie doświadczyć elastyczności systemu Linux oraz uroku technologii open-source. Mała płytka deweloperska nigdy nie jest ograniczona do spełniania tylko jednej potrzeby; jeśli połączysz ją ze swoimi scenariuszami użytkowania i odważysz się eksperymentować, możesz uwolnić jej większą wartość.

Dołącz do społeczności, aby odkryć więcej przydatnych treści!

Zapraszamy do społeczności IceWhale na Discordzie! Będziemy publikować więcej szczegółowych poradników konfiguracji, studiów przypadków użytkowników i aktualizacji produktów, aby pomóc Ci łatwo poruszać się w cyfrowym świecie i znaleźć idealną platformę sprzętową dla każdej pasji.

Centrum Kampanii Zima

Więcej do przeczytania

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.