EQ2Emulator Tools - Wish List
Posted: Sun Oct 14, 2012 11:08 am
I started jotting down every Tool I thought of while sitting here working on EQ2Emulator, thinking "Man, my life would be so much easier if I just had ____ this tool..."
I thought I would share my current (growing) list to see if any C# (or other) geniuses out there were looking for something to do that could be helpful might step up. I am personally learning C# now for my job anyway, so all of these are something I will be tinkering with over time (if no one else does).
The List
EQ2EmuSDK
I think the SDK is the first one I need to build (based on Scatman's great work in PacketAnalyzer) because any additional tool will have it's core functionality written already and the author can then focus on their app, not how to connect to our data.
EQ2Emu Launchpad
I would like to (attempt) to make client patching a little easier and more familiar. Right now, our project supports DoV box+patch, but I believe that "+patch" also requires some UI files (??) and if so, players will still not be able to simply patch the EXE and go.
PacketAnalyzer
We started this app a year ago and it is maybe 75% complete. I do not know about the other devs, but I use it almost daily and it does an amazing job; exactly what I asked for (yay Scatman!) We're going to try and finish it up this year and release it with a sample log so you can see how difficult our jobs were without this tool
Content Management
I had started working on a DB Editor for EQ2Emu for our dev team originally, but didn't know enough about C# to be effective - so I wrote our editor in PHP
Years later, I had this idea of a World Builder app that contained wizards that would step you through building a single spawn, or an encounter. Looking back at both of these tools, there's no reason they cannot be combined into one.
FWIW, I think this app is one of the top, most needed apps after the SDK.
Visual Parser
This tool is more for Core Team developers than community members, because you guys don't have our 1/2 million spawn records to analyze and deploy. But basically I wanted a way to visually look at the RAW parsed data (either directly from the packet log or from a rawdata PacketParser run), and pick and choose which data I wanted based on criteria I set.
Database Patcher
As of DB Milestone 1, we no longer have the capacity to deliver our Spawn, Spells and Items content to you via our current PatchServer. The data is just too huge, it would take hours to build your database. LethalEncounter came up with an idea to build a "Database Patcher" stand-alone app that would pull down zipped tables individually, by request from the server admin, and apply that data.
Server Manager
Scatman and I tossed around an idea a while ago about adding an option to control EQ2World from outside the console itself, via remote commands (similar to EQEmu's perl web interface). Ours would be a stand-alone app tho, because I do not think we want to add HTTP services to our World at this time.
As you can see, the options are endless for the EQ2Emulator Tools we could come up with to better our efforts. If you have any ideas or "wish lists", please add them - that is the purpose of this post. The more I learn about .NET and C#, the easier writing tools will be. Hope some savvy developers will get on board with this idea and create something awesome.
Thanks for reading.
I thought I would share my current (growing) list to see if any C# (or other) geniuses out there were looking for something to do that could be helpful might step up. I am personally learning C# now for my job anyway, so all of these are something I will be tinkering with over time (if no one else does).
The List
EQ2EmuSDK
I think the SDK is the first one I need to build (based on Scatman's great work in PacketAnalyzer) because any additional tool will have it's core functionality written already and the author can then focus on their app, not how to connect to our data.
- - Contains pre-defined classes for all things EQ2Emu (races, classes, eq2-related static data)
- Built-in DB connectors to our EQ2World database schema
- Other functions or methods we use commonly in other tools (like PacketAnalyzer)
- more
EQ2Emu Launchpad
I would like to (attempt) to make client patching a little easier and more familiar. Right now, our project supports DoV box+patch, but I believe that "+patch" also requires some UI files (??) and if so, players will still not be able to simply patch the EXE and go.
- - Function similar to SOE's launchpad app
- Merge Scatman's ClientLauncher tool functionality to pick multiple login servers to connect to (like Public/MiniLogin)
- Compares files on local computer to those we support
- Updates local client files automatically/optionally from a (secure) repository we maintain
- Checks login verification (must have valid login account)
PacketAnalyzer
We started this app a year ago and it is maybe 75% complete. I do not know about the other devs, but I use it almost daily and it does an amazing job; exactly what I asked for (yay Scatman!) We're going to try and finish it up this year and release it with a sample log so you can see how difficult our jobs were without this tool
- - Open collected Packet logs and read in data
- Build list of discovered opcodes
- Display (xml) struct of packet when opcode highlighted
- Adjust both Opcodes and Structs via editor, live update for building structs on-the-fly
- Packet-related tools (unpack, formatter, calculator)
Content Management
I had started working on a DB Editor for EQ2Emu for our dev team originally, but didn't know enough about C# to be effective - so I wrote our editor in PHP
FWIW, I think this app is one of the top, most needed apps after the SDK.
- - Edit Spawn, Item, Spell, and other core EQ2Emu data in your database
- Create new entries using templates or existing content
- Build complex LUA scripts using scripting wizards and templates
- World Builder wizards to pick models, define parameters of a spawn and place in your world
- Builder comes with pre-defined templates for rapid zone building, save your own templates as well
- 3D rendering of content based on appearances data (merge VPK tool)
- DB backup and restore options
- lots more opportunities here
Visual Parser
This tool is more for Core Team developers than community members, because you guys don't have our 1/2 million spawn records to analyze and deploy. But basically I wanted a way to visually look at the RAW parsed data (either directly from the packet log or from a rawdata PacketParser run), and pick and choose which data I wanted based on criteria I set.
- - new way to -populate world with raw data
- visually see lists of spawns to move, eliminate dupes before adding to world
- maybe even parse out of packetlogs only the packets you want instead of everything?
Database Patcher
As of DB Milestone 1, we no longer have the capacity to deliver our Spawn, Spells and Items content to you via our current PatchServer. The data is just too huge, it would take hours to build your database. LethalEncounter came up with an idea to build a "Database Patcher" stand-alone app that would pull down zipped tables individually, by request from the server admin, and apply that data.
- - Allow user to pick and choose what tables to patch from our sources
- Large datasets supported (Items, Spawns)
- DB backup and restore options, possibly even off-site storage (provisioned by EQ2Emulator.net)
Server Manager
Scatman and I tossed around an idea a while ago about adding an option to control EQ2World from outside the console itself, via remote commands (similar to EQEmu's perl web interface). Ours would be a stand-alone app tho, because I do not think we want to add HTTP services to our World at this time.
- - Commands to EQ2World or Zones
- Reports on Status/Stats
- Log Viewer
- For hubs, control Login, Patch, IRC/Voice and Chat Servers
As you can see, the options are endless for the EQ2Emulator Tools we could come up with to better our efforts. If you have any ideas or "wish lists", please add them - that is the purpose of this post. The more I learn about .NET and C#, the easier writing tools will be. Hope some savvy developers will get on board with this idea and create something awesome.
Thanks for reading.