Skip to content
OpenMinetopiaPublic

About

OpenMinetopia portal is een geweldige toevoeging aan jouw server. Breng de in-game ervaring naar een nog hoger niveau met veel nieuwe functies.

Topics

Resources

Contributing

Security policy

Stars

3 stars

Watchers

1 watching

Forks

Latest commit

 

History

74 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenMinetopia Portal

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.

Licentie GPL-3.0 Tests Discord

Het overzicht van het portaal

Twee manieren

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 bash

Het 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.

Wat kan het?

  • 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.
Bankrekeningen Plots
Makelaar Vergunningen
Het bedrijvenregister in het donkere thema Instellingen voor beheerders in het donkere thema

Zelf hosten

Met Docker (aanbevolen)

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.

Met Pterodactyl

  1. Importeer pterodactyl/egg-openminetopia-portal.json in je panel (Admin → Nests → Import Egg).
  2. Maak een server met dit egg en maak op het tabblad Databases een database aan.
  3. Vul bij Startup de naam, het adres, de plugin en de databasegegevens in.
  4. Start de server. De console laat zien wat je in de config.yml van 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.

Zelf installeren

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:install

Laat 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.

De plugin koppelen

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.

E-mail

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.

Grotere foto's

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.env in /opt/openminetopia-portal, daarna openminetopia-portal stop en openminetopia-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 in php.ini ook upload_max_filesize en post_max_size minstens 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.

Proberen zonder Minecraft-server

Zet PORTAL_DEMO=true in .env en laad de demodata:

php artisan db:seed --class=DemoSeeder

Log 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.

Meer weten

Meedoen

Bijdragen zijn welkom; lees eerst CONTRIBUTING.md. Een beveiligingsprobleem meld je zoals in SECURITY.md staat.

Licentie

OpenMinetopia Portal is open source onder de GNU General Public License v3.0.

About

OpenMinetopia portal is een geweldige toevoeging aan jouw server. Breng de in-game ervaring naar een nog hoger niveau met veel nieuwe functies.

Topics

Resources

Contributing

Security policy

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages