Het webportaal voor je Minetopia-server met de OpenMinetopia-plugin.
Spelers zien in de browser hun bankrekeningen, plots, strafblad en meer, en regelen er bedrijven en vergunningen.
Wij hosten het voor je. Maak gratis een portaal aan op openminetopia.nl. Je krijgt een adres als jouwserver.mtportal.nl (of je eigen domein) en verlengt het elke drie maanden. Je hoeft niets te installeren.
Je host het zelf. Op je eigen server, met Docker in één commando:
curl -fsSL https://raw.githubusercontent.com/OpenMinetopia/portal/main/install.sh | sudo bashHet script stelt een paar vragen (adres, naam van je server, waar de plugin draait), start het portaal met een database, en laat daarna zien wat je in de config.yml van de plugin zet en hoe je beheerder wordt.
- Bank: je rekeningen en saldo, en geld overmaken naar andere spelers.
- Plots: je plots met eigenaren en leden; eigenaren beheren wie erbij mag.
- Makelaar: plots te koop zetten en kopen, met betaling via de bank.
- Bedrijven: een bedrijf inschrijven bij de Kamer van Koophandel, het bedrijvenregister, en opheffen.
- Vergunningen: vergunningen aanvragen; de juiste rol beoordeelt ze.
- Politie: een spelersdatabase met strafbladen voor agenten.
- Strafblad: spelers zien hun eigen strafblad.
- Beheer: gebruikers, rollen en rechten, en per onderdeel aan of uit.
- Koppelen: spelers koppelen hun account in Minecraft met
/koppel. - Licht en donker thema, en alles in het Nederlands.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Nodig: een Linux-server met Docker. Heb je Docker nog niet, dan biedt het script aan het te installeren.
- Met een domeinnaam krijgt je portaal automatisch HTTPS. Laat de domeinnaam eerst naar je server wijzen, en zorg dat poort 80 en 443 open staan.
- Zonder domeinnaam draait het portaal op het IP-adres van je server, zonder HTTPS.
Na de installatie beheer je alles met één commando:
| Commando | Wat het doet |
|---|---|
openminetopia-portal update |
Nieuwste versie ophalen en herstarten |
openminetopia-portal backup |
Database en geüploade bestanden opslaan |
openminetopia-portal check |
Test of het portaal de plugin bereikt |
openminetopia-portal admin-link |
Nieuwe eenmalige link om beheerder te worden |
openminetopia-portal instellen |
Naam, adres of plugin opnieuw instellen |
openminetopia-portal logs |
Meekijken wat het portaal doet |
Alles staat in /opt/openminetopia-portal. Liever zonder vragen, bijvoorbeeld in een script? Dat kan met omgevingsvariabelen; die staan bovenaan install.sh.
- Importeer
pterodactyl/egg-openminetopia-portal.jsonin je panel (Admin → Nests → Import Egg). - Maak een server met dit egg en maak op het tabblad Databases een database aan.
- Vul bij Startup de naam, het adres, de plugin en de databasegegevens in.
- Start de server. De console laat zien wat je in de
config.ymlvan de plugin zet, en een link om beheerder te worden.
Pterodactyl geeft het portaal een poort met HTTP. Wil je HTTPS, zet er dan een reverse proxy (zoals nginx of Caddy) of Cloudflare voor.
Nodig: PHP 8.4 met de extensies pdo_mysql, intl, zip en bcmath, Composer, Node.js 22, en MySQL, MariaDB of SQLite.
git clone https://github.com/OpenMinetopia/portal.git
cd portal
composer install --no-dev --optimize-autoloader
npm ci && npm run build
php artisan portal:installLaat je webserver (nginx, Apache, Caddy) naar de map public wijzen. Bijwerken doe je met git pull, dezelfde composer en npm commando's, en php artisan migrate --force.
Plots verhuren werkt met een taak die elk uur de huur verlengt. Zet daarvoor deze cron-regel op je server (crontab -e als de gebruiker van je webserver):
* * * * * cd /pad/naar/portal && php artisan schedule:run >> /dev/null 2>&1
Met Docker en Pterodactyl draait die taak vanzelf.
portal:install (en dus het installatiescript en het Pterodactyl-egg) laat precies zien wat je in plugins/OpenMinetopia/config.yml zet, met je eigen sleutels:
rest-api:
enabled: true
host: 0.0.0.0
port: 4567
api-key: plt_…
portal:
enabled: true
url: portaal.jouwserver.nl
token: ist_…Herstart daarna de Minecraft-server en test de verbinding met openminetopia-portal check (of php artisan portal:check).
Koppelen met /koppel gaat in de huidige plugin altijd via HTTPS. Draait je portaal zonder HTTPS, dan werkt koppelen pas met een plugin-versie die http:// in portal.url ondersteunt.
Spelers die hun wachtwoord vergeten zijn, krijgen een link per e-mail. Daarvoor heeft het portaal een mailserver nodig. Zet je SMTP-gegevens in de .env van het portaal (bij Docker is dat portal.env in /opt/openminetopia-portal, bij Pterodactyl .env in de File Manager):
MAIL_MAILER=smtp
MAIL_HOST=smtp.jouwprovider.nl
MAIL_PORT=587
MAIL_USERNAME=portaal@jouwserver.nl
MAIL_PASSWORD=…
MAIL_FROM_ADDRESS=portaal@jouwserver.nl
MAIL_FROM_NAME="Jouw Portaal"Herstart daarna het portaal (bij Docker: docker compose restart portal in /opt/openminetopia-portal). Zonder mailserver komen de e-mails in storage/logs/laravel.log terecht en niet bij de speler.
Spelers mogen standaard foto's tot 2 MB bij een plot zetten. Zet PORTAL_MAX_UPLOAD_MB op het aantal MB dat je wilt toestaan:
- Docker: in
portal.envin/opt/openminetopia-portal, daarnaopenminetopia-portal stopenopenminetopia-portal start. Hoogstens 64. - Pterodactyl: bij Startup → Maximale grootte van foto's (MB), daarna de server herstarten. Hoogstens 64.
- Zelf geïnstalleerd: in
.env, en zet inphp.iniookupload_max_filesizeenpost_max_sizeminstens zo hoog. Het portaal houdt zich aan de laagste van de drie.
Staat er nginx voor het portaal? Die weigert standaard alles boven 1 MB: zet client_max_body_size in je nginx-config op dezelfde grootte (bijvoorbeeld client_max_body_size 16M;). Cloudflare laat op het gratis plan uploads tot 100 MB door.
Zet PORTAL_DEMO=true in .env en laad de demodata:
php artisan db:seed --class=DemoSeederLog in met demo@openminetopia.nl en wachtwoord demo1234. De plugin wordt dan nagebootst met een verzonnen stad. Demo-modus werkt nooit als APP_ENV=production.
- Documentatie over de plugin en het portaal: wiki.openminetopia.nl
- Hulp en vragen: Discord
- Bugs en ideeën: issues
Bijdragen zijn welkom; lees eerst CONTRIBUTING.md. Een beveiligingsprobleem meld je zoals in SECURITY.md staat.
OpenMinetopia Portal is open source onder de GNU General Public License v3.0.






