Quick reference for common changes. This page is unlisted and not linked anywhere public.
Three separate systems, all talking to each other:
drakkon-hosting.com/admin) edits.When you're editing content (text, pages, images, the banner) → use Grav Admin.
When you're editing products, prices, or specs → use Paymenter Admin.
When you're editing server specs, eggs, or nodes → use Pterodactyl Admin.
To add a new product (e.g. a new modpack, a new tier):
minecraft-hosting, palworld, or modded-minecraft (the homepage/modded page only show categories they know about, using a new category name means it won't appear anywhere until the relevant page is updated too)Important: if a product ever ends up with more than one billing plan attached (even a leftover test one you think you removed), the native "quick add to cart" button breaks and falls back to the slower checkout page. Always fully delete extra plans in the product's Pricing tab, don't just hide them.
Grav Admin → Homepage page → look for the Games List field. Each entry needs an ID, a display name, and a Paymenter category slug that must exactly match a real Paymenter product category, or nothing will show for it.
The /modded page works differently, it pulls live from the modded-minecraft category automatically, no config needed there, any product in that category just appears.
Grav Admin → Site Settings → Announcement Banner tab. Toggle on/off, set the text and a button link/label.
Known issue: the text and button-label fields have sometimes failed to save from this form (the toggle and link URL save fine, but text doesn't). If that happens again, the reliable fallback is editing the file directly over SSH:
Find the banner_enabled line and add/edit banner_text: and banner_link_label: directly under it, then clear cache (see Troubleshooting below).
Every page needs three things, all under /var/www/grav/grav-admin/user/:
themes/drakkon/templates/your-page.html.twigthemes/drakkon/blueprints/your-page.yamlpages/NN.your-page/default.md (the number prefix controls ordering, doesn't affect the URL)Set visible: false in the content file's frontmatter to keep it unlisted/hidden like this page.
| Node | Purpose | Architecture |
|---|---|---|
| Oracle (main) | Website, billing, Minecraft servers | ARM64 |
| Limerick x86 | Palworld, modded servers | Native x86_64 |
Never use raw docker stop/start on a Pterodactyl-managed server. Always use the panel's own Start/Stop buttons, or the Application API's suspend/unsuspend, using raw docker commands leaves Pterodactyl's own tracking out of sync and causes the panel to show wrong/broken status.
Known limitation: the native dashboard's live status dot and Start/Stop buttons only work correctly for servers on the Oracle node right now. Servers on Limerick x86 won't show correct status there yet, that needs Oracle to be able to reach the x86 box remotely (SSH) to check its Docker containers, which isn't set up yet.
Made a change and it's not showing up on the live site? Almost always a caching issue. Run:
For Paymenter-side changes (routes, controllers, config):
The php8.4-fpm restart specifically has fixed a number of "I cleared cache and it's still wrong" situations tonight, when in doubt, restart it too.
A product's "quick add" button suddenly falls back to the slow checkout page? Check for a duplicate/leftover billing plan on that product (see Products section above).
Invoice checkout suddenly fails with a database error about a duplicate invoice number? The internal invoice counter has fallen out of sync with the real highest invoice number. Fix via Paymenter's tinker console, set the invoice_number setting to match the actual highest existing invoice number.
/var/www/pterodactyl/.env and /var/www/paymenter/.env on the Oracle server