I. Wybór Sprzętu i Podstawowe Wymagania
Jestem programistą backend. Zdalny serwer, który wcześniej wynajmowałem, był przestarzały i nie miał wystarczającej wydajności, przez co nie spełniał już moich potrzeb związanych z self-hostingiem. Dlatego kupiłem Zimaboard 2 1664 z jasnymi celami: po pierwsze, zbudować w pełni skonfigurowany, z włączonym backupem, 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 i Instalacja Systemu
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 niezmienność systemu NAS poważnie ograniczała 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 do bootowania 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.
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 obsługuje 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 spełnić codzienne potrzeby: Jellyfin jako serwer multimedialny do zintegrowanego zarządzania osobistymi zasobami audio i wideo; Filebrowser do stworzenia prywatnej chmury do zdalnego dostępu 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 i 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 połączyłem go z Tailscale, aby osiągnąć połączenie między lokalnym serwerem a oryginalnym serwerem zdalnym, skutecznie unikając wystawiania sieci domowej na zewnątrz. Ponadto Godoxy ma wbudowany panel monitoringu, który pozwala mi na bieżąco obserwować statusy CPU, pamięci, temperatury, dysku i innych parametrów serwera, znacznie poprawiając efektywność zarządzania serwerem.

III. Modernizacja Konsoli Retro: Start/Stop na Żądanie, Bez Zakłóceń 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 wiedzy technicznej mogli korzystać samodzielnie, bez mojej pomocy.
Główne Pomysły i Kombinacje 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 — 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 stanu podłączenia/odłączenia kabla HDMI i wywoływanie odpowiednich poleceń uruchamiania/zatrzymywania 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 funkcję frontendu biblioteki gier, umożliwiając zarządzanie grami według kategorii konsol i automatyczne pobieranie okładek oraz 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, wywołujący 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: stworzył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 względem 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 uruchamiania Gamescope, włączając skalowanie FSR, aby zapewnić optymalną jakość obrazu na telewizorach 1080p. Testy wykazały, że zoptymalizowana konfiguracja utrzymuje użycie GPU między 70% a 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.

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 większej liczby emulatorów nieobsługiwanych przez Retroarch: używaj polecenia journalctl do podglądu logów zdarzeń udev w czasie rzeczywistym, ręcznie wywołuj zdarzenia zmiany statusu HDMI i testuj skuteczność reguł; tymczasowo usuwaj reguły udev, łącz się z urządzeniem przez SSH, ręcznie uruchamiaj program gry i personalizuj konfigurację kontrolera; po debugowaniu przywracaj reguły, aby wrócić do trybu automatycznego. Operacja jest prosta i efektywna.
V. Ostateczny Efekt: Podwójna Funkcjonalność, 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, pozwalając cieszyć się klasycznymi retro grami jak PS1 i Wii, a nawet wspiera lokalną rozgrywkę wieloosobową. Odłączenie kabla HDMI natychmiast kończy wszystkie procesy gry, przywracając tryb czystego serwera, bez wzajemnych zakłóceń.


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!
Witamy w 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.

