Cztery elementy, które muszą pasować
DiscordSRV to plugin, więc serwer musi działać na Paperze albo Purpurze (czym się różnią). Loguje się do Discorda jako bot, którego tworzysz sam, i trzeba mu wskazać, który kanał Discorda dostaje które wiadomości.
| Element | Skąd go wziąć | Gdzie trafia |
|---|---|---|
| Plugin | „Katalog pluginów” w zakładce „Pluginy” | Folder plugins serwera |
| Aplikacja bota | Discord Developer Portal | Zaproszona na Twój serwer Discord |
| Token bota | Strona Bot tej aplikacji | BotToken w plugins/DiscordSRV/config.yml |
| ID kanału | Aplikacja Discord z włączonym trybem dewelopera | Linijka Channels w tym samym pliku |
Obecne wydanie, DiscordSRV 1.30.5 z kwietnia 2026, obsługuje Java Edition 26.2, a katalog w naszej zakładce „Pluginy” pokazuje je dla tej wersji.
Ten poradnik zakłada, że sam serwer Discord już istnieje. Jeśli musisz jeszcze zdecydować, jakie kanały założyć i jakie role dać członkom i ekipie, poradnik Konfiguracja Discorda dla Minecraft na astroworldmc.site pomoże to zaplanować, łącznie z miejscem na kanał mostu czatu.

Utwórz bota w Developer Portal
Utwórz aplikację
W Discord Developer Portal wybierz New Application i nazwij ją tak jak swój serwer. Tę nazwę ludzie widzą przy przekazywanych wiadomościach.
Zatrzymaj go dla siebie
Na stronie Installation zostaw zaznaczone tylko Guild Install i ustaw Install Link na None. Na stronie Bot upewnij się, że Public Bot jest wyłączone, żeby nikt inny nie mógł dodać bota do swojego serwera.
Włącz dwa intents
Wciąż na stronie Bot, pod Privileged Gateway Intents, włącz SERVER MEMBERS INTENT i MESSAGE CONTENT INTENT. PRESENCE INTENT ma znaczenie tylko wtedy, gdy później ustawisz
EnablePresenceInformationna true.Zaproś go
Weź Application ID z General Information i zbuduj zaproszenie z zakresami
botiapplications.commands. Wybierz swój serwer Discord i zatwierdź.Nadaj mu rolę
Utwórz rolę dla bota w ustawieniach swojego serwera Discord i przypisz ją. Administrator to najkrótsza droga; tabela niżej to węższy zestaw.
Intents nie są opcjonalne. Bez Message Content Discord dostarcza wiadomości z Twojego kanału z pustą treścią, więc nic czytelnego nie mogłoby trafić do gry. Gdy bot prosi o intent, który jest wyłączony, Discord zamyka połączenie z kodem 4014, a DiscordSRV zostaje wyłączony.
| Zakres | Uprawnienia roli bota |
|---|---|
| Cały serwer | Manage Roles, Manage Channels, Ban Members, Manage Nicknames, Manage Webhooks |
| Na kanałach, których używa | View Channel, Send Messages, Manage Messages, Embed Links, Mention @everyone, @here and All Roles, Add Reactions, Read Message History, Move Members, Mute Members, Manage Permissions |
Zainstaluj plugin i daj mu token
W zakładce „Pluginy” wpisz DiscordSRV w „Szukaj pluginów” i wybierz „Zainstaluj”. Katalog jest dopasowany do typu i wersji Twojego serwera, a panel potwierdza plik komunikatem „SHA-512 sprawdzone” z przypomnieniem o restarcie. Zrestartuj teraz raz, zanim masz token. DiscordSRV zapisze swój folder i config, nie zaloguje się i powie dlaczego:
Konsola
No bot token has been set in the config; a bot token is required to connect to Discord.Na tym etapie ta linijka to dobra wiadomość: config istnieje. Wróć na stronę Bot w portalu, gdzie Reset Token generuje token i pokazuje go do skopiowania. W zakładce „Pliki” otwórz plugins, potem DiscordSRV, wybierz „Edytuj” przy config.yml, wklej token między cudzysłowy i naciśnij „Zapisz”.
plugins/DiscordSRV/config.yml
BotToken: "PASTE_THE_BOT_TOKEN_HERE"Zmieniony token wymaga pełnego restartu; discord reload go nie wczytuje. Kto ma ten ciąg znaków, ten steruje botem: może czytać każdy kanał, który bot widzi, pisać jako on i używać każdego uprawnienia jego roli, łącznie z Ban Members.
- Nigdy nie wklejaj go na kanał, do zrzutu ekranu ani do prośby o pomoc. Udostępniasz
config.yml? Najpierw zamień token na zastępczy tekst. - Przenieś go z config.yml, jeśli inni edytują ten plik. DiscordSRV czyta też plik o nazwie
.tokenwplugins/DiscordSRV, a dopóki ten plik istnieje, linijkaBotTokenjest ignorowana. Każdy z uprawnieniem do Plików nadal może go otworzyć, więc nadawaj to uprawnienie oszczędnie. - Jeden bot na jeden serwer. Jeden token na dwóch serwerach sprawia, że bot dostaje limity, a DiscordSRV ostrzega, że Discord traktuje to jako nadużycie.
- Raporty debug go ukrywają.
discord debugzastępuje wszystko, co wygląda jak token, zanim raport zostanie wysłany.
Gdy token wycieknie
Wróć na stronę Bot i znowu naciśnij Reset Token. Wyciekły token przestaje działać, więc wpisz nowy do configu i zrestartuj serwer, zanim zrobisz cokolwiek innego.
ID kanałów i linijka Channels
Włącz tryb dewelopera
W aplikacji Discord otwórz ustawienia użytkownika zębatką w lewym dolnym rogu, przejdź do sekcji zaawansowanej i włącz tryb dewelopera (Developer Mode).
Skopiuj ID
Kliknij prawym przyciskiem kanał tekstowy przeznaczony na czat. Menu ma teraz pozycję do kopiowania ID kanału, a kopiuje ona długą liczbę.
Wpisz je do configu
Zastąp rząd zer w
Channelstą liczbą i zostaw wokół niej cudzysłowy.
plugins/DiscordSRV/config.yml
Channels: {"global": "CHAT_CHANNEL_ID"}
# or send joins, leaves and deaths somewhere quieter:
Channels: {"global": "CHAT_CHANNEL_ID", "join": "EVENTS_CHANNEL_ID", "leave": "EVENTS_CHANNEL_ID", "deaths": "EVENTS_CHANNEL_ID"}Lewa połowa każdej pary to nazwa, której DiscordSRV używa wewnętrznie, a nie nazwa Twojego kanału na Discordzie. Czat graczy na serwerze Paper albo Purpur bez pluginu czatu to global. Wszystko, co wysyła DiscordSRV, trafia na pierwszy kanał z listy, chyba że lista ma parę dla danego rodzaju wiadomości:
| Nazwa po lewej | Co przenosi |
|---|---|
global | Czat graczy i odpowiedzi z Discorda |
status | Komunikaty o starcie i zatrzymaniu serwera |
join i leave | Gracze wchodzący i wychodzący |
deaths | Komunikaty o śmierci |
awards | Osiągnięcia |
broadcasts | Wiadomości wysłane przez discord broadcast |
link | Łączenie kont |
Plugin czatu przynosi własne nazwy kanałów, które zastępują global. Przy TownyChat zwykle jest to general.
Zmiany w Channels zaczynają działać po discord reload w zakładce „Konsola”, wpisanym bez ukośnika.

Kanał konsoli i dlaczego trzeba go zamknąć
DiscordConsoleChannelId przyjmuje ID drugiego kanału. DiscordSRV kopiuje do niego konsolę serwera partiami, domyślnie co 5 sekund, i wykonuje wszystko, co tam zostanie wpisane, jako komendę konsoli. Nie sprawdza, kto to wpisał. Każdy członek, który może pisać na tym kanale, dostaje zasięg konsoli serwera.
Jedynym hamulcem jest krótka lista blokad: ?, op, deop i execute. stop, ban, whitelist off i każda komenda pluginu zostają zupełnie otwarte, więc jedno nieostrożne uprawnienie kanału rozdaje więcej, niż cofnie jakikolwiek ban czy kick.
Zostaw ID puste, chyba że go potrzebujesz
Puste DiscordConsoleChannelId wyłącza kanał konsoli, co jest właściwym ustawieniem dla zwykłego mostu czatu. Nigdy nie podawaj tam ID kanału czatu; DiscordSRV ostrzega w konsoli właśnie przed tym błędem.
- Uczyń kanał prywatnym. Na Discordzie odbierz View Channel roli @everyone na tym kanale i pozwól na nie tylko sobie i roli bota.
- Zamień listę blokad w listę dozwolonych. Przy
DiscordConsoleChannelBlacklistActsAsWhitelist: truelista wymienia jedyne komendy, które się wykonają, na przykładlist,sayitps. - Zachowaj zapis. Każda komenda trafia do pliku
Console-<date>.logz nazwą i ID użytkownika Discorda, który ją wysłał, a domyślnie komenda, której nie da się zapisać, nie wykonuje się.
Wpisane na kanale czatu
!c say hello from DiscordKanał czatu też ma boczne wejście. Wiadomość z tym prefiksem wykonuje się jako komenda konsoli dla członków z rolą o nazwie Owner albo Developer, bez względu na wielkość liter, a te role mogą uruchomić wszystko. Jeśli na Twoim Discordzie te nazwy mają inni ludzie, ustaw DiscordChatChannelConsoleCommandEnabled: false.
Łączenie kont Minecraft i Discord
Łączenie zapisuje, który członek Discorda należy do którego gracza. Czat działa bez tego, ale synchronizacja ról, nicków i banów opiera się właśnie na nim.
Pobierz kod w grze
Gracz wpisuje
/discord link. Serwer odpowiada czterocyfrowym kodem i nazwą bota.Wyślij kod botowi
Na Discordzie gracz otwiera prywatną wiadomość do bota i wysyła tylko te cztery cyfry. Zły kod dostaje odpowiedź
I don't know of such a code, try again.Sprawdź wynik
/discord linkedpokazuje, które konto jest połączone, a/discord unlinkusuwa połączenie.
Domyślnie łączyć mogą wszyscy gracze, a discord reload jest zarezerwowane dla operatorów. Dla ostrzejszych zasad DiscordChatChannelRequireLinkedAccount: true wpuszcza do gry wiadomości z Discorda tylko od członków, którzy połączyli konta, a Require linked account to play w linking.yml nie wpuszcza na serwer graczy bez połączenia. To drugie jest domyślnie wyłączone, a gracze z vanillowej białej listy je pomijają, dopóki Whitelisted players bypass check zostaje na true; poradnik o białej liście wyjaśnia tę listę.
Zrestartuj i przetestuj oba kierunki
Zrestartuj z zakładki Konsola
Naciśnij „Restart” i obserwuj wyjście pod kątem błędów DiscordSRV. Gdy ich nie ma, bot pokazuje się jako online na liście członków, z grą w Minecraft.
Z gry na Discorda
Napisz coś na czacie w grze i poszukaj tego na kanale czatu.
Z Discorda do gry
Wpisz linijkę na kanale czatu. Pojawia się na czacie w grze i domyślnie także w konsoli, co przydaje się, gdy nikogo nie ma online, żeby to sprawdzić.
Poproś o listę graczy
Wyślij
playerlistna kanale czatu. Bot odpowiada, kto jest online, i po 10 sekundach usuwa zarówno Twoją prośbę, jak i swoją odpowiedź.
Gdy wiadomości nie dochodzą
Przewiń do tego, co DiscordSRV wypisał podczas startu serwera. Jego linijki startowe podają przyczynę większości nieudanych konfiguracji:
| Co widzisz | Prawdopodobna przyczyna | Rozwiązanie |
|---|---|---|
The bot token is invalid albo DiscordSRV is disabled: your bot token is invalid. przy użyciu komendy discord | Literówka, zbędna spacja albo token, który od tego czasu zresetowano | Zresetuj token, wklej nowy, zrestartuj |
An invalid length bot token (32) | Skopiowano client secret zamiast tokena bota | Skopiuj token ze strony Bot |
missing one or more of the following intents albo DiscordSRV is disabled: your DiscordSRV bot is lacking required intents. przy użyciu komendy discord | Jeden z dwóch intents jest wyłączony | Włącz oba pod Privileged Gateway Intents, potem zrestartuj |
| Czat z gry dochodzi na Discorda, z Discorda nigdy do gry | Rola bota nie może czytać tego kanału albo wymagane są połączone konta | Pozwól tam na View Channel i Read Message History albo połącz konto |
| Brak błędów i nic nigdzie nie dochodzi | Liczba w Channels nie jest ID tego kanału tekstowego albo plik zmieniono bez przeładowania | Skopiuj ID z samego kanału, potem uruchom discord reload |
| Posty z webhooków nigdy nie pokazują się w grze | DiscordChatChannelBlockWebhooks jest domyślnie na true | Ustaw na false, jeśli chcesz je przekazywać |
| Ostrzeżenie o limitach (rate limiting) | Ten sam token działa na więcej niż jednym serwerze | Daj każdemu serwerowi własną aplikację |
Dalej nie działa? Uruchom discord debug w konsoli. Wysyła raport z konfiguracji i daje Ci link, o który poproszą pomocnicy samego pluginu.
Na serwerze Fabric
Serwer Fabric nie wczytuje pluginów, więc zakładka „Pluginy” prosi o przejście na Paper albo Purpur. Jeśli serwer musi zostać na Fabricu ze względu na mody (dlaczego ten wybór ma znaczenie), Simple Discord Link to mod po stronie serwera z wydaniem z lipca 2026 dla Java Edition 26.2. Wymaga CraterLib, który wymaga Fabric API; zakładka „Mody” pokazuje tylko mody pasujące do Twojego loadera i wersji i instaluje razem z nimi wymagane zależności.
Strona Discorda zostaje taka sama: własny bot, wszystkie Privileged Gateway Intents włączone, token i ID kanału. Pierwszy start zapisuje config/simple-discord-link/simple-discord-link.toml. Token idzie do botToken pod [botConfig], a kanał czatu do chatChannelID, a przy następnym starcie mod szyfruje token, żeby nie leżał już w pliku jako zwykły tekst.
Napisane i sprawdzone przez zespół Lodehost, ostatnia weryfikacja 14 września 2026.




