Webhook
Webhooki w Goxy umożliwiają wysyłanie informacji o dołączaniu graczy do Twojej sieci serwerów oraz dynamiczne kierowanie ich na odpowiednie podserwery. Poniżej znajdziesz instrukcje, jak skonfigurować niestandardowy webhook, przykłady implementacji w Java i Node.js, oraz szczegóły dotyczące formatu żądania i odpowiedzi.
Użyj webhooków, aby zautomatyzować logikę kierowania graczy na podstawie ich danych!
Przed rozpoczęciem
Webhooki to zaawansowana funkcja dla użytkowników znających programowanie i API. Jeśli nie jesteś pewien, jak to działa, skontaktuj się z nami na Discordzie lub rozważ użycie domyślnych opcji Goxy (np. domyślny folder lub warunki).
Konfiguracja Webhooka
-
Podaj adres URL webhooka
W panelu administracyjnym Goxy (dashboard.goxy.io) przejdź do ustawień sieci i wpisz adres URL Twojego webhooka (np.https://mc.goxy.io/webhook/join).
Uwaga: Po włączeniu niestandardowego webhooka, Goxy ignoruje domyślne opcje (np. domyślny folder lub warunki). -
Zaimplementuj logikę webhooka
Twój webhook powinien odbierać żądania typuPOSTz danymi w formacie JSON (GoxyJoinRequest) i zwracać odpowiedź (GoxyJoinResponse) z ID serwera, na który gracz powinien zostać przekierowany.
GoxyJoinRequest – Pola zapytania
| Pole | Typ | Opis |
|---|---|---|
id | string | Identyfikator sesji lub kontenera proxy |
networkId | string | Identyfikator sieci Goxy |
protocol | number | Wersja protokołu Minecraft (np. 761 = 1.20.1) |
hostname | string | Adres domeny, z której gracz się łączy |
realId | string | Identyfikator użytkownika w systemie Goxy (UUID) |
premium | boolean | Czy gracz ma konto premium (oryginalne Mojang/Microsoft) |
Przykładowy request
{
"id": "82b39bee-fd2c-4e60-b877-22fe7b148c36",
"networkId": "869fad81-b57a-43dc-a7e8-d46aa3340fa4",
"protocol": 761,
"hostname": "join.gxy.pl",
"realId": "99a379bd-b019-4581-8a14-48569f90afd2",
"premium": false
}
GoxyJoinResponse – Pola odpowiedzi
| Pole | Typ | Opis |
|---|---|---|
id | string | ID serwera (podserwera/ sektora), na który gracz powinien trafić |
Przykładowa odpowiedź
{
"id": "d959157b-c22a-47c7-9968-33862db52681"
}
Przykłady implementacji
Java
Poniżej przykład kontrolera, który odbiera GoxyJoinRequest i zwraca GoxyJoinResponse na podstawie ostatniego sektora gracza.
@RestController
@RequestMapping("/webhook")
public class WebhookController {
private final PlayerSectorService playerSectorService;
public WebhookController(PlayerSectorService playerSectorService) {
this.playerSectorService = playerSectorService;
}
@PostMapping
public GoxyJoinResponse handleWebhook(@RequestBody GoxyJoinRequest request) {
// Pobierz ostatni sektor gracza
final Sector lastSector = playerSectorService.getLastSector(request.getRealId());
// Zwróć odpowiedź zawierającą id serwera
return new GoxyJoinResponse(lastSector.getServerId());
}
}
Node.js
Poniżej przykład endpointu, który przetwarza żądanie i zwraca odpowiedź z ID serwera.
import express, { Request, Response } from "express";
import { PlayerSectorService } from "./playerSectorService";
import { GoxyJoinRequest, GoxyJoinResponse } from "./types";
const router = express.Router();
const playerSectorService = new PlayerSectorService();
router.post("/", (req: Request, res: Response) => {
const body = req.body as GoxyJoinRequest;
// pobierz ostatni sektor gracza
const lastSector = playerSectorService.getLastSector(body.realId);
// przygotuj odpowiedź
const response: GoxyJoinResponse = {
id: lastSector.serverId,
};
res.json(response);
});
export default router;
Ważne uwagi
Po włączeniu niestandardowego webhooka, Goxy nie uwzględnia domyślnego folderu ani warunków kierowania graczy. Cała logika kierowania zależy od Twojego webhooka.
Przed wdrożeniem przetestuj swój webhook, np. za pomocą narzędzi takich jak Postman, aby upewnić się, że poprawnie przetwarza żądania i zwraca odpowiedzi w formacie JSON.
⚡ Automatyzacja
Kieruj graczy dynamicznie za pomocą webhooków.
🔧 Elastyczność
Zintegruj webhook z własną logiką serwerową.
🎮 Kontrola
Pełna kontrola nad przekierowaniami graczy.
📎 Linki i Zasoby
Oto kluczowe linki do naszych zasobów – wszystko w jednym miejscu!
| Zasób | Link |
|---|---|
| Strona główna Goxy | goxy.io |
| Panel administracyjny | dashboard.goxy.io |
| Strona statusu | status.goxy.io |
| Discord Community | Dołącz na Discord |
| Awesome Goxy List | Sprawdź listę |
| Dokumentacja API | API Docs |
Skontaktuj się z nami!
Odpowiadamy na wszystkie wiadomości w ciągu 24h na Discordzie.
🎉 Wykorzystaj webhooki i zautomatyzuj swoją sieć!
Dołącz do Goxy i odkryj więcej możliwości!
ZAREJESTRUJ SIĘ ZA DARMO