Hello everyone!
This is the update where the dashboard stops being a glorified user list and starts being a window into the actual game. Three new admin pages this month, all of them touching the live game cache or the live player data.
Game-data editor
Every user with a game account now has a /admin/users/:id/game-data page. It's a single long Livewire view that surfaces roughly every field the game server keeps on a player: profile, skills with levels and XP, inventory, equipment, bank, quest progress, achievement diaries, NPC kill counts, the lot. Every field is editable from the UI, and there is a Live Sync toggle that polls the database every five seconds so you can watch a player's stats change as they play.
There's a "Force Save" button at the top that flushes any in-memory state the game server is holding on the player, so edits you make from the dashboard don't get clobbered by the server's next periodic save.
For staff with the game.admin-panel permission, there's also a "Kick from Game" button that force-logs-out the game session and clears the sixty-second relogin timer, so a compromised account can be yanked offline immediately.
Item icon editor
The dashboard used to pull item icons from the live RuneScape wiki API, which was fine for prototypes but wrong for a private server — our items don't match theirs, and the wiki API is rate-limited. The new item-icon editor generates sprites directly out of the game cache. You upload a new icon, it gets packed back into the cache, and the next build of the client picks it up.
The editor pages are laid out in an infinite-scroll grid over the full item dump, with search-as-you-type and a side panel that shows the item definition (stack/noteable flags, equip slot, examine text) alongside the sprite.
Live world map
/admin/world-map is a Leaflet map of the actual Gielinor surface, rendered from the cache itself. A standalone tool parses the overlay/underlay definitions out of the cache, paints a huge world_map.png (roughly 11,776×7,424px at scale 4), and slices pre-rendered Leaflet tiles. Landmark labels are hand-tagged — Lumbridge, Varrock, Falador, the usual ones.
Over the top of the map, player positions stream in via a five-second poll and render as coloured dots. The dot colour matches the player's rights flag — blue for regulars, green for mods, red for admins, purple for super-admins — and clicking a dot pops open their in-game name, combat level, world, and a link straight to their game-data page.
For management there's a sister page, /admin/world-map/manage, that shows stats on the map (file size, tile count, last generated) and has a "Regenerate" button that runs the cache dumper from a queued job.
Changelog
- New
/admin/users/:id/game-datapage with live-sync editor for profile, skills, inventory, equipment, bank, diaries, and NPC kill counters. - "Force Save" button that flushes the live server state for the edited player.
- "Kick from Game" action on the game-data page for staff with
game.admin-panel, clears the sixty-second relogin timer. - Item icon editor sourced from the local game cache (replacing the RuneScape wiki API).
- Cache-native item definition editor: edit stack/noteable/equip-slot flags and examine text, repack into the cache.
- Live world map at
/admin/world-mapwith real-terrain tiles rendered from the game cache and player positions refreshed every five seconds. - World-map management page with regenerate button and file/tile stats.
- Plugin access admin page so non-default client plugins can be gated to specific Spatie permissions.
So what's next? All of this is fine on a desktop, but try it on a phone and the cracks show immediately. That's the April 17th post.
All the best, Austen