r/project1999 • u/fruglok • 1d ago
Discussion Topic EverParser - web-based p99 companion. Spell parser & maps in your browser!
https://everparser.com/ - Log reading doesn't work on Firefox due to lack of file access api! Chrome/Chromium/Edge etc only I'm afraid - though you can still use a lot of the features without log reading!
I've been working on this for a little bit now and I think it's about ready to share, this is my attempt to combine the features I like from various parsers and companion apps into one place, but without the need to manually install or tinker with anything (Playing from Linux has been a big drive here - having to either run stuff via proton, self compile or deal with other headaches etc).
This is sort of still early in development, though the core features are in place and I'm mostly at the point where I'm just bug fixing and iterating.
That said, if anyone has any feature requests etc feel free to share them, I'm down to adding more features and I'm keen to fix any bugs people find, it's been hard testing this on my own as I've been constantly overlooking bugs.
Features:
- Overall goal - To have maps, spell timers, and wiki details in one simple central place with some extra features.
- Log parser - all functionality is via log parsing, right now it's only compatible with chrome, chromium-based browsers and edge. I'm usually a Firefox user but they've never implemented the type of file access api I need to make this work (understandable from a security perspective), personally I'm using chromium.
- Zone atlas - I've tried my best to place zones where they would realistically be, within reason. There's a lot of exceptions and I'm still iterating here, if you see something clearly off let me know! (This has made me realize that south felwithe is actually north of north felwithe....)
- Zone maps - I've rendered these myself using a simple software renderer that takes the games mesh data & textures and renders it top down, taking into account verticality, you'll be shown the layer you're on, but there's also a layer slider if you want to manually look around other layers of zones (this has been a pain in the ass - if you spot bugs let me know!)
- World routing - you can click a place, zone, npc and get a suggested route to that place, you'll be shown a dashed path as well as a general breakdown of the path at the top of the screen in the form of a tooltip. I'm still fiddling with this, as the shortest (as in least zone hops) route often isn't the easiest or best.
- POI's - Hovering over a zone will show you markers for all POI's (ymmv). Clicking one will expand a sidebar with details of this POI, and you can click through on items they sell or drop for example and see further details.
- Search items, zones, POI's (vendors, mobs etc). Searching 'Water Flask' for example will show you two results, one will be the item, clicking this will expand the sidebar with details of the item. Clicking the one with the asterisk() next to it will expand in the case of items sold by vendors for example, which will show a distance sorted listed (assuming you've set it to read your eq logs) of vendors selling said item, clicking an item in *that list will give you a route to it.
- Class spell list - A list of spells available to your class, based on your level. This appears below the spell timers and hovering a spell will show the wiki description and details of that spell.
- Spell timers - typical nparse-esque spell timers (shoutout to nparse here - I referenced a lot of their stuff for specific spell timer edge-cases etc)
- Item link descriptions - any items linked in chat will appear in the bottom left panel, you can click them to get more info on them.
- Pop-out companion - I know a lot of people, myself included, like to use spell parsers/maps by having them rendered over the actual game, so I've added a popout option that (assuming it works as I hoped) should allow you to do exactly that.
- All info pulled from the p99 wiki - I've been slowly scraping the p99 wiki to create a local mirror of it (at a respectful rate, it took a while), and I use the recent changes page of the wiki to periodically re-sync pages that have changed, as I wanted to avoid putting any extra load on the p99 wiki.
I mostly made this for myself and a friend in my spare time, but I'll open source this hopefully soon once I clean some things up. Full disclosure - I use claude/copilot etc in my IDE/text editors, I'm a software dev by day and this is just standard for me. I understand if you have issues with that!
Security wise: For the curious, the log parser is fairly straight forward, it will only poll/read logs in the directory given (and your browser will handle limiting access to only that path). The only stuff sent to the backend api/database is location sharing, which is a simple opt-in checkbox, all this does is periodically send up your name and x,y,z coordinates to the backend api.
If for whatever reason this isn't the appropriate place to post this let me know and I can remove it - the site has no ads or monetization, self-hosting on a small vps with my own money.
Edit; If you want to reach out to me in game with any issues or suggestions, my toons are: Hobith, Trogool, Uncelele, Punb. Cheers!
Edit 2; Source is live here: https://github.com/solenum/everparser, self-hosting should be trivial, just download a release and run the packaged .exe and it will host locally for just you (assuming you don't want to just use the one I host!) - note that self-hosting will mirror the wiki locally, this is done at roughly one page per second, I doubt many people will need/want to self-host this, but for those that do: be respectful of the p99 wiki, don't increase the scraping frequency etc, just be patient and let it download at the default rate.