Mój serwer Minecraft

← Wróć

Ilość znaków: 6118. Ilość słów: 747. Ten artykuł przeczytasz w: 4 minuty

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 - 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

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

Pluginy

Na serwerze znajduje się 12 pluginów. Ich listę możesz podejrzeć w tym pliku. 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 data.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 kilka funkcji, zaimplementowanych w mniejszym bądź większym stopniu - pamiętajmy, że plugin jest w wersji 0.1.0 - faza bardzo wczesnego rozwoju.

Lista komend - uwaga, screenshot o dużej rozdzielczości! Komendy SMToolkit

Posiada on 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 - w przyszłości - dla potencjalnych większych zbiorów danych.

Na koniec...

Serwer jest wciąż w etapie rozwojowym, posiada aktywną whitelistę oraz tryb online - gracze non premium nie mogą na niego dołączyć. 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 :)