Pluginy do gier: Minecraft, FiveM i SCP:SL
Piszemy pluginy do Minecrafta, skrypty FiveM i pluginy SCP: Secret Laboratory pod mechaniki, których nie ma w gotowych paczkach: własną walutę, sklep, rangi, mini gry i wszystko, co wymyślisz dla swoich graczy.

Trzy gry, trzy sposoby pisania
Każda gra ma inny język, inne API i inne pułapki. Piszemy w tym, na czym stoi Twój serwer, i trzymamy się konwencji danej społeczności.
- Język
- Java
- API
- Paper, Spigot
- Typowe pluginy
- Ekonomia, minigry, menu GUI, zapis danych graczy
- Język
- Lua albo JavaScript
- API
- ESX, QBCore
- Typowe pluginy
- Prace, frakcje, interfejsy NUI
- Język
- C#
- API
- EXILED, LabAPI
- Typowe pluginy
- Nowe role, wydarzenia rundy, narzędzia dla administracji
Ekonomia i sklep na serwerze
Serwer Minecraft robi 20 ticków na sekundę, czyli jeden co 50 ms, i w tym czasie musi zmieścić całą logikę gry. Dlatego ekonomia i sklep zapisują dane w tle, a do gry wraca tylko wynik.
Saldo w bazie, nie w pliku
Stan kont plugin trzyma w bazie z kopią zapasową, nie w pojedynczym pliku, więc postępy graczy nie giną przy awarii serwera.
Ceny i limity w konfiguracji
Cenę, dzienny limit i teksty sklepu zmieniasz w pliku konfiguracji z opisem każdej opcji, bez programisty i bez kompilowania.
Zamówienie ze strony czeka na gracza
Opłacone zamówienie trafia do kolejki nagród, a plugin wydaje je przy najbliższym wejściu gracza. Powtórzone powiadomienie od operatora płatności nie wydaje nagrody drugi raz.
Zakup bez lagów
Zapis zakupu do bazy idzie w tle, poza głównym wątkiem, więc nie zatrzymuje ticków serwera.
FiveM: logika na serwerze, nie u gracza
Zasób FiveM opisuje plik fxmanifest.lua: skrypty klienta, skrypty serwera i stronę NUI. O pieniądzach i przedmiotach decyduje warstwa serwera, nigdy gracz.
- NUIui_page w fxmanifest.lua, HTML i JavaScript, menu prac i frakcji
Gracz klika w interfejsie, że skończył pracę.
- Skrypty klientaclient_scripts, Lua albo JavaScript, to, co gracz widzi i klika
Skrypt klienta przekazuje prośbę na serwer i niczego sam nie rozstrzyga.
- Skrypty serweraserver_scripts, sprawdzenie warunków, wypłata
Serwer sprawdza, czy praca naprawdę została wykonana, i dopiero wtedy wypłaca.
- FrameworkESX, QBCore
Framework dopisuje pieniądze do postaci gracza.
- Baza danychPostacie i ekonomia graczy, kopia zapasowa
Nowy stan konta trafia do bazy z kopią zapasową.
Skrypt klienta działa na komputerze gracza, więc da się go obejść, a zdarzenie serwera można wywołać z podstawionymi danymi.
Odrzucone. Tego, co przysyła klient, nie bierzemy na wiarę: serwer sam sprawdza, czy praca została wykonana.
Co masz na własność
Dostajesz cały zasób z prawami po odbiorze i opłaceniu całości, a wypłaty, ceny i teksty zmieniasz w plikach konfiguracji bez programisty. Repozytorium ma historię zmian, więc zasób może dalej rozwijać także ktoś inny niż my.
SCP:SL: LabAPI czy EXILED
LabAPI to oficjalny framework modów od twórców gry, a EXILED to framework rozwijany przez społeczność. Pierwsze pytanie nie brzmi, który jest lepszy, tylko na czym stoi Twój serwer.
LabAPI
Grę i framework rozwija ten sam zespół: Northwood Studios, twórcy gry. To oficjalny framework modów SCP: Secret Laboratory.
- Serwer dopiero startuje albo i tak przepisujesz pluginy od nowa, więc nic nie trzyma Cię przy innym frameworku.
- Chcesz pisać na oficjalnym frameworku od Northwood Studios, twórców gry.
- Pluginy, które chcesz dołożyć, są napisane pod LabAPI.
- Grę i framework rozwija ten sam zespół, a Ty wolisz sprawdzać zgodność po aktualizacji z jednym źródłem zmian.
- Plugin ma działać na wielu serwerach, nie tylko na Twoim, więc opierasz go na frameworku, który twórcy gry podają jako oficjalny.
Serwer bez pluginów albo zestaw pisany od nowa stawiamy na LabAPI. Nowy kod opiera się wtedy na tym, co udostępniają twórcy gry, a nie na dodatkowym projekcie.
EXILED
Framework rozwija społeczność, w repozytorium ExMod-Team. To framework pluginów z systemem zdarzeń gry.
- Serwer już działa na EXILED i ma pluginy, których nie chcesz przepisywać.
- Pluginy, które chcesz zachować albo dołożyć, korzystają z EXILED.
- Twoje pluginy reagują na zdarzenia gry przez system zdarzeń EXILED, a nowy plugin ma z nimi współpracować.
- Administracja zna już konfigurację i komendy pluginów EXILED, a zmiana frameworka oznaczałaby naukę od nowa.
- Chcesz nowej mechaniki, a nie przebudowy całego serwera.
Serwer, który stoi na EXILED, zostaje na EXILED: nowy plugin działa obok tych, które już masz, bez przepisywania zestawu. Przejście na LabAPI wyceniamy osobno, jeśli zechcesz je zrobić.
Z czym łączymy plugin
Serwer gry rzadko żyje sam. Te połączenia pojawiają się najczęściej.
- Discord
Gracz łączy konta raz, a potem ranga w grze i rola na Discordzie zmieniają się razem.
- Itemshop i płatności
Opłacone zamówienie czeka w kolejce nagród, a gdy bank cofnie płatność, nagroda trafia do kolejki odebrania.
- Panel serwerów
Skrypt instalacyjny egga pobiera plugin razem z grą, a klient hostingu zmienia jego konfigurację w panelu albo przez SFTP.
Wejście gracza, zmiana rangi, zgłoszenie gracza, statystyki i stan serwera.
Zapytania do bazy i usług w sieci idą poza głównym wątkiem, więc nie zatrzymują ticków.
- Steam
Po SteamID plugin łączy konto ze strony z graczem w grze, więc zakup trafia do właściwej osoby także po zmianie nicku.
- Strona serwera
Strona czyta ranking z tej samej bazy, do której plugin zapisuje statystyki, więc liczby na stronie i w grze się zgadzają.
- Baza danych
Salda, kolejka nagród i statystyki w bazie z kopią zapasową, a nie w plikach na serwerze gry.
Jak powstaje plugin
Od opisu mechaniki do pluginu zainstalowanego na serwerze.
- DostajeszWycena i termin
Opis mechaniki
Opisujesz, co ma się dziać w grze, i podajesz listę pluginów, a my ustalamy wersję gry, framework, zależności i możliwe konflikty.
Dostajesz: Wycena i termin
- DostajeszPoprawki po testach
Wersja testowa
Plugin trafia na serwer testowy z tą samą wersją gry i zestawem pluginów, gdzie sprawdzasz go z administracją przed wdrożeniem.
Dostajesz: Poprawki po testach
- DostajeszPlugin gotowy na produkcję
Test obciążenia
Przy wielu graczach naraz mierzymy wpływ pluginu na ticki i sprawdzamy, że zapisy danych są kompletne.
Dostajesz: Plugin gotowy na produkcję
- DostajeszKod na własność i instrukcja
Instalacja
Instalujemy plugin na serwerze produkcyjnym albo przekazujemy instrukcję Twojej administracji.
Dostajesz: Kod na własność i instrukcja
- DostajeszZgodność z nowymi wersjami
Aktualizacje
Po nowej wersji gry serwer graczy zostaje na dotychczasowej, a plugin poprawiamy na nowej, zanim serwer się przeniesie.
Dostajesz: Zgodność z nowymi wersjami
Najczęstsze pytania o pluginy do gier
Odpowiedzi o wersjach gry, kodzie źródłowym i wycenie.
Czytaj dalej
Usługi, integracje i narzędzia, które najczęściej idą razem z pluginem.
Opisz mechanikę, której brakuje na serwerze
Napisz, na jakiej grze i frameworku stoi serwer i co ma się dziać. Odpowiemy w godzinę z pytaniami i wyceną.





