Mój serwer Minecraft

← Wróć

Ilość znaków: 8271. Ilość słów: 1005. Ten artykuł przeczytasz w: 6 minut

Hej!

Przez bardzo długi czas nie pojawiał się tu żaden nowy post, głównie przez brak czasu oraz motywacji, aby coś tu dodać.
Pomyślałem o wstawieniu czegoś nowego wczoraj, podczas dodawania pliku .jar do mojego prostego CDN - więcej informacji niżej.

Główne informacje

Konfiguracja serwera jest deklaratywna, podobnie jak i wszystkie usługi, których używam. Więcej o tym w poprzednim wpisie blogowym.
Serwer jest bazowany na silniku Paper, który jest bardzo lekki i pozwala na łatwą instalację pluginów. Serwer bazuje na wersji 1.21 - aktualizowałem ją przy okazji grzebania przy CDN tej witryny. Oczywiście, jest możliwość połączenia się ze starszych edycji gry (począwszy od 1.9) - umożliwia to jeden z pluginów: ViaBackwards. Jeżeli chcesz poczytać więcej na temat pluginów obecnych na tym serwerze, przejdź do zakładki Pluginy - odnośnik znajdziesz w głównym menu strony.

Konfiguracja serwera jest zapisana w pliku .nix. Definiuje się w niej parametry takie jak port, na którym serwer powinien nasłuchiwać, MOTD czyli Message Of The Day - w wielkim skrócie, jest to ten opis, który widzi użytkownik po dodaniu serwera do listy serwerów multiplayer. Ponadto w takim pliku konfigurować możemy gamemode, trudność gry (difficulty), czy status whitelisty. W przypadku MOTD są pluginy, które pozwalają na jego dynamiczną modyfikację, natomiast ja takowej nie potrzebuję - gdyby się to zmieniło, chętnie spróbuję to zaimplementować w moim autorskim pluginie, o którym mowa w sekcji Programowanie - możesz przejść do niej z odnośnika znajdującego się w głównym menu strony.

Na moim serwerze MOTD jest dość proste; pokazuje informacje o wspieranych wersjach oraz zawiera w sobie krótkie przywitanie: Zrzut ekranu serwerowego MOTD

Update z 30.11.2025: Po aktualizacji pluginu SMToolkit to on zarządza wiadomościami MOTD. Informuje o wspieranych wersjach oraz dostępnych trybach gry. MOTD zmienia się co 5 minut.

Ogólny wygląd - spawn

Postaram się przedstawić ogólny wygląd spawna na serwerze. Został on stworzony bez użycia WorldEdita, dlatego jest dość prosty, zarazem spełniający swoje zadanie - ma przedstawić graczowi możliwe tryby gry.
Czwarty portal jest pusty - przekierowuje on do miejsca znajdującego się obok spawna. Jest to miejsce zarezerwowane na kolejne tryby w przyszłości bądź potencjalne ustawienia dla gracza - kto wie, co w przyszłości się pojawi.

Poniżej znajdą się zrzuty ekranu poszczególnych portali obecnych na spawnie. Portalami tymi zarządza mój autorski plugin SMToolkit - więcej o nim w zakładce Programowanie.

Survival

Survival

Skyblock

Skyblock

Działki (plots)

Działki

Portal zarezerwowany dla potencjalnych nowych trybów gry

Działki

Aby dostać się na dany tryb, możemy użyć zegara, który otrzymujemy po wejściu na serwer. Klikając prawym przyciskiem myszy podczas trzymania go w ręce otworzy nam się menu, w którym będziemy mogli wybrać żądany tryb gry.

Pluginy

Na serwerze znajduje się 17 pluginów, z czego wiele z nich to same zależności innych pluginów. Ich aktualną listę możesz podejrzeć w tym pliku - szukaj wpisów z kategorią minecraft. Na podstawie tego JSONa łatwiej mi jest aktualizować pluginy - stworzyłem w tym celu prosty skrypt konsolowy. Pobiera on dane mody i sprawdza, czy ich hash uległ zmianie - jeśli tak, jest on aktualizowany w pliku sources.json. Oczywiście adresy URL modów muszę aktualizować sam, natomiast często jest to po prostu podmiana wersji pluginu w danym adresie.

Zrezygnowałem z wielu zbędnych mi pluginów, np. Essentials, który zawiera wiele funkcji, których nigdy bym prawdopodobnie nie użył. Zamiast tego zdecydowałem się napisać własny plugin, o którym więcej w sekcji Programowanie. Zaimplementowałem podstawowe komendy takie jak heal do uzdrawiania graczy oraz fly do zmiany trybu latania.

Programowanie

Teraz pora opowiedzieć bardziej dokładnie, czym jest SMToolkit. Jest to mój autorski plugin na mój serwer Minecraft. Napisany w Kotlinie, posiada wiele przydatnych funkcji stworzonych celowo pod mój serwer Minecraft.

Myślę nad integracją tego serwera z moim serwerem Discord - stworzył bym w tym celu osobny plugin, nazwany SMDiscord. Podstawowe pliki tego pluginu są już na moim Forgejo, natomiast czas pokaże, czy plugin ten będzie stworzony i rozwijany.

SMToolkit posiada funkcje takie jak:

Ponadto, plugin jest zintegrowany z systemem Vault, co pozwala na integrację z wieloma pluginami, np. do uprawnień, ekonomii itd. Korzystam z bazy danych PostgreSQL, oraz domyślnego edytora configu, który udostępnia sam Bukkit. Baza danych powstała m.in. dla tymczasowych banów oraz dla potencjalnych większych zbiorów danych, w tym mechanizmu logowania/rejestracji.

Serwer Discord

Cała ta sekcja została dodana w dniu 30.11.2025 Po zaimplementowaniu zaplanowanych przeze mnie funkcji w moim autorskim pluginie SMToolkit przystąpiłem do tworzenia Discorda mojego serwera. Jest to miejsce, w którym można otrzymać najnowsze informacje na jego temat, ale także integrować się ze społecznością, jeśli wyrażamy taką chęć. Przy dołączeniu na serwer możemy wybrać kategorie, które nas interesują - jeśli nie chcemy np. być częścią community, nie zaznaczamy roli do niego przypisanej.

Na serwerze znajdują się kanały, na których gracze mogą udzielać sobie wskazówek oraz wsparcia dotyczącego serwera. Na samej górze kategorii "wsparcie" widnieje kanał "poradnik", na którym ja jako właściciel i twórca pluginu zamieszczam informacje o m.in. komendach dostępnych na poszczególnych trybach gry, poleceniach mojego bota Discord czy pluginu SMToolkit.

Na koniec...

Serwer jest wciąż w etapie rozwojowym. Obecny limit graczy wynosi 33. Nie zamierzam udostępniać tego serwera na szeroką skalę ze względu na wydajność oraz możliwości mojego sprzętu, na którym serwer ten jest hostowany.
Miej na uwadze to, że z racji tego, że serwer jest wciąż w fazie rozwoju, mogę aktualizować ten wpis o nowe informacje.
To tyle w tym wpisie, do usłyszenia następnym razem :)