Skip to main content
Deze pagina geldt voor elk portaal, gehost of zelf gehost. Het portaal en de plugin moeten elkaar allebei kunnen bereiken. Dat regel je met twee secties in de config.yml van de plugin: rest-api en portal.

De instellingen

Dit zijn de standaardwaarden uit de plugin:

rest-api

Via de REST API haalt het portaal gegevens op uit de plugin. Meer over de API lees je bij REST API.

portal

Herstart de server na het aanpassen. Bij het starten van de REST API zie je in de console HTTP server started on port 4567 and host 0.0.0.0, met jouw poort en host.
Je hoeft het blok niet zelf in te vullen. Bij een gehost portaal staat het met de juiste waarden op je portaalpagina op openminetopia.nl. Zie Gehost portaal. Host je het portaal zelf, dan laat php artisan portal:install het blok met je eigen sleutels zien. Het installatiescript en het Pterodactyl-egg doen dat ook. Zie Zelf hosten.

Zo maakt de plugin een adres van portal.url

De plugin zet /api achter het adres. Bij /koppel roept hij daarna /minecraft/verify aan. Een / aan het eind haalt de plugin eerst weg.
  • Begint het adres met http:// of https://, dan gebruikt de plugin het zoals het er staat. Zo kan een zelf gehost portaal ook zonder HTTPS draaien.
  • Staat er alleen een hostnaam, dan zet de plugin er https:// voor.
  • Eindigt de hostnaam op .test, dan gebruikt de plugin http://. Dat is bedoeld voor lokaal testen.
Deze regels gelden voor een plugin-versie nieuwer dan 1.5.0. Op Modrinth is 1.5.0 nog de nieuwste versie, dus daarvoor heb je een build van de master-branch nodig. Versie 1.5.0 zet altijd https:// voor portal.url. Vul daar alleen de hostnaam in. Koppelen werkt met 1.5.0 dus alleen als je portaal HTTPS heeft.

Poorten

De REST API van de plugin werkt via gewone http://, zonder HTTPS.
Dit geldt alleen voor een gehost portaal. Dat weigert interne adressen, zoals 127.0.0.1, 10.x.x.x en 192.168.x.x. Ook een hostnaam die naar zo’n adres wijst, werkt niet. En de poort moet tussen 1024 en 65535 liggen. Gebruik het openbare IP-adres of een openbare hostnaam van je Minecraft-server.
Een zelf gehost portaal doet deze controle niet. Het adres van de plugin staat daar in PLUGIN_API_URL in de .env van het portaal. Een intern adres zoals 127.0.0.1 of een adres in je eigen netwerk mag dus. Roept het portaal de plugin aan op 127.0.0.1, localhost of ::1, dan zet portal:install in het blok host: 127.0.0.1. In alle andere gevallen zet het er host: 0.0.0.0 in.

De verbinding testen

Host je het portaal zelf, dan test je de verbinding met de plugin op de server van het portaal:
Gebruikte je het installatiescript, dan typ je openminetopia-portal check. Dat voert hetzelfde commando uit in de Docker-container. Het commando roept de plugin twee keer aan: één keer zonder en één keer met de api-key. Zo ziet het of er echt een OpenMinetopia-plugin antwoordt en of de key klopt. Gaat het goed, dan zie je Verbonden in ... ms. Het portaal bereikt de plugin. Gaat het mis, dan zegt het commando wat je kunt controleren: Zijn PLUGIN_API_URL of PLUGIN_API_KEY leeg, dan stopt het commando en vraagt het je eerst php artisan portal:install te draaien. Dit commando test alleen de richting portaal naar plugin. Of /koppel werkt, test je in-game.

Je account koppelen als speler

Een speler gebruikt het portaal pas als zijn Minecraft-account gekoppeld is.
1

Maak een account op het portaal

Registreer op het portaal met je naam, e-mailadres, Minecraft-gebruikersnaam en wachtwoord. Het portaal zoekt je Minecraft-account op bij Mojang. Bestaat de naam niet, dan kun je je niet registreren.
2

Kopieer het commando

Na het registreren zie je de pagina Koppel je Minecraft-account. Daar staat het commando /koppel met jouw persoonlijke code erachter. Klik op Kopieer. Deel de code met niemand.
3

Voer het commando in-game uit

Join de server met hetzelfde Minecraft-account. Typ het commando in de chat, bijvoorbeeld /koppel <code>. Gelukt? Dan zie je “Je account is succesvol gekoppeld!”.
4

Controleer de koppeling

Klik op het portaal op Koppeling controleren. Je komt dan in het portaal.
Alias: /link. Het commando bestaat alleen als portal.enabled op true staat. Je kunt het alleen in-game gebruiken, niet vanuit de console. De code hoort bij jouw account op het portaal. Je krijgt hem bij het registreren en hij verandert niet. Klik je op Koppeling controleren voordat het koppelen gelukt is, dan zie je “Je account is nog niet geverifieerd. Gebruik /koppel in de game.”

Berichten

De berichten staan in messages.yml:

Als koppelen mislukt

Krijgt een speler de foutmelding, dan staat de oorzaak in de console van je server. Er zijn twee soorten meldingen.

Het portaal antwoordt met een fout

In de console staat dan een waarschuwing als Response code 401 Unauthorized while trying to verify player Steve. De code zegt wat er mis is: Het portaal vergelijkt de naam en de UUID van de speler met de gegevens van Mojang. Geeft je server spelers een andere UUID dan Mojang, zoals in offline mode zonder proxy die de UUID doorgeeft, dan mislukt het koppelen met code 400.

De plugin bereikt het portaal niet

In de console staat dan An error occurred while trying to verify player Steve: met de foutmelding erachter. De plugin kreeg geen antwoord van het portaal. Controleer:
  • of portal.url naar het juiste adres wijst, met http:// ervoor als je portaal geen HTTPS heeft (dat kan pas in een plugin-versie nieuwer dan 1.5.0);
  • of de hostnaam klopt en bestaat;
  • of je Minecraft-server uitgaande verbindingen naar het portaal mag maken.
Kom je er niet uit? Stel je vraag op Discord of kijk bij de veelgestelde vragen.