Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Tools

Development::Tools 3rd Party Tools for EQEMu (DB management tools, front ends, etc...)

Reply
 
Thread Tools Display Modes
  #1  
Old 04-01-2008, 01:28 PM
Bulle
Hill Giant
 
Join Date: Jan 2008
Posts: 102
Default

To put it short, despite me hating writing Perl for its syntax I am very quest-oriented. The fact is that the full power of Perl is rarely needed and I wanted to "specify" quests more visually and more concisely, at least for the 90% of the quests that do not really require complex processing (fetch, go talk to a guy, deliver an item, this sort of thing). As you can certainly understand, it is not meant to replace Perl as the "assembly" language of quests, but provide a simpler of writing basic quests.

I settled on the idea of writing quests as Wiki pages, with paragraphs for quest chapters, and visual clues about what you do (hand-in items, receive XP etc). Once the quest is written using pre-defined Macros (Templates) you fire up a parser that reads all that (Mediawiki export) and generates the Perl code. You are limited to the primitives provided but it is enough to write quite a few things.

I have completed the first draft of the parser and I will start a new thread about it soon. I just need to complete re-installing the EQEmu servers on my Linux box (sorting my mess if you prefer) and test it on a proper environment. The parser is written in Java for perfo^H^H^H^H^H ease of writing/debugging/prototyping
Reply With Quote
  #2  
Old 04-02-2008, 02:38 PM
fault
Hill Giant
 
Join Date: Sep 2005
Posts: 114
Default

woul dit be possible to add a character/account management system to it? I added a minilogin reg script. and Cavedudes sexy char mover to it. I'd like to see something where users can login to it, maybe change things about their toons/options as well as a forum login/system or integration with ipb/vb



all in al VERY nice update bulle.
Reply With Quote
  #3  
Old 04-02-2008, 03:11 PM
Bulle
Hill Giant
 
Join Date: Jan 2008
Posts: 102
Default

It is probably a question of point of view, but I would be happy to keep EQBrowser a "read-only" tool, at least regarding to the regular EQEmu DB tables used by the game. And if additional tables created just for the purpose of the browser get corrupted and have/can be reloaded without any harm , so much the better. In fact I run EQBrowser with a special MySQL user that has read-only access to all my EQEmu databases (I do not use the quest thingy at the moment).

I think it is very much possible to keep EQBrowser faithful to its name, a browser. We can complicate it as much as needed to handle more specific "requests", but keep it a browser and a portal to other places (PEQ Editor, Lucy, whatever else). The EQEmu database Google in a way.

Thanks to the Web philosophy, you can have a tool dedicated to searching and other tool(s) for doing more involved tasks. This is the reason I linked NPC pages to their Edit counterpart in PEQ Editor : use the power of the web, and delegate to much-better written, to the point tools. It is the opposite of monolithic applications and the reason that I like web apps, and that I dislike Web 2.0 in a way : because you tend to lose the power of the "link" in Web 2.0. You get one URL for your home page and that's it.

To answer your post now, having EQBrowser display info about players, their inventory etc why not. Having it display a player list or a list of characters who have so-and-so items, and forward you to a Magelo clone, even better. Having another icon send you to an Edit page on the web app you are going to write and passing it the character/PC info (ID), sure.

Just a sound sharing of responsibility : you take care of the editing, EQBrowser takes care of the searching, and we know how to interface both (and the many new unsuspected other apps people can write) cleanly. That way you can be the master of your hill, and share it with the others through well-known, SECURE, interfaces.

If I could give an advice to web developers around here, it would be : provide as much functionality as you can through direct links (with parameters). Think of each of your application pages as a whole, that can be accessed individually and provides a clear service. Avoid forcing people to "click-click" through many wizard-like pages to do what they want. It is good for advert-sponsored pages, but not for charitable utilities. This is the spirit of the web after all, how it started at least.
Reply With Quote
  #4  
Old 04-03-2008, 02:59 AM
Bulle
Hill Giant
 
Join Date: Jan 2008
Posts: 102
Default

First bug I found : due to a typo in a variable name several fields are ignored by the Item search (Class, Race...). I have fixed it, will be in next version.

I definitely broke some stuff
Reply With Quote
  #5  
Old 04-10-2008, 05:25 PM
Muuss
Dragon
 
Join Date: May 2003
Posts: 539
Default

I can't wait to test that new version !
__________________
Muuss - [PEQGC] Dobl, the ogre that counts for 2 !
http://www.vilvert.fr/page.php?id=10
Reply With Quote
  #6  
Old 04-13-2008, 03:24 AM
Bulle
Hill Giant
 
Join Date: Jan 2008
Posts: 102
Default

For those using EQBrowser, if you want to make it publicly usable for your DB you might want to setup a special user for it. The reason is that EQBrowser in its current state is almost certainly susceptible to script injection (nothing coming from the client is escaped properly). Until this can be fixed in the PHP you can make sure EQBrowser can only have read-access to your tables, and that it is prevented access to a couple sensitive fields (password, ls_account and minilogin_ip in the account table).

Here is how I have defined my eqemuview user. You will want to replace the user-name, password and database name (here peqref) by your own :

Code:
create user 'eqemuview'@'%' identified by 'ZZZ';

grant select on peqref.aa_actions to 'eqemuview'@'%';
grant select on peqref.aa_effects to 'eqemuview'@'%';
grant select on peqref.aa_timers to 'eqemuview'@'%';
grant select on peqref.altadv_vars to 'eqemuview'@'%';
grant select on peqref.books to 'eqemuview'@'%';
grant select on peqref.botinventory to 'eqemuview'@'%';
grant select on peqref.botleader to 'eqemuview'@'%';
grant select on peqref.botsowners to 'eqemuview'@'%';
grant select on peqref.character_ to 'eqemuview'@'%';
grant select on peqref.character_backup to 'eqemuview'@'%';
grant select on peqref.class_skill to 'eqemuview'@'%';
grant select on peqref.commands to 'eqemuview'@'%';
grant select on peqref.doors to 'eqemuview'@'%';
grant select on peqref.eqbnews to 'eqemuview'@'%';
grant select on peqref.eventlog to 'eqemuview'@'%';
grant select on peqref.faction_list to 'eqemuview'@'%';
grant select on peqref.faction_values to 'eqemuview'@'%';
grant select on peqref.fear_hints to 'eqemuview'@'%';
grant select on peqref.fishing to 'eqemuview'@'%';
grant select on peqref.forage to 'eqemuview'@'%';
grant select on peqref.graveyard to 'eqemuview'@'%';
grant select on peqref.grid to 'eqemuview'@'%';
grant select on peqref.grid_entries to 'eqemuview'@'%';
grant select on peqref.ground_spawns to 'eqemuview'@'%';
grant select on peqref.guild_members to 'eqemuview'@'%';
grant select on peqref.guild_ranks to 'eqemuview'@'%';
grant select on peqref.guild_relations to 'eqemuview'@'%';
grant select on peqref.guilds to 'eqemuview'@'%';
grant select on peqref.hackers to 'eqemuview'@'%';
grant select on peqref.inventory to 'eqemuview'@'%';
grant select on peqref.items to 'eqemuview'@'%';
grant select on peqref.launcher to 'eqemuview'@'%';
grant select on peqref.launcher_zones to 'eqemuview'@'%';
grant select on peqref.lootdrop to 'eqemuview'@'%';
grant select on peqref.lootdrop_entries to 'eqemuview'@'%';
grant select on peqref.loottable to 'eqemuview'@'%';
grant select on peqref.loottable_entries to 'eqemuview'@'%';
grant select on peqref.merchantlist to 'eqemuview'@'%';
grant select on peqref.merchantlist_temp to 'eqemuview'@'%';
grant select on peqref.name_filter to 'eqemuview'@'%';
grant select on peqref.npc_faction to 'eqemuview'@'%';
grant select on peqref.npc_faction_entries to 'eqemuview'@'%';
grant select on peqref.npc_spells to 'eqemuview'@'%';
grant select on peqref.npc_spells_entries to 'eqemuview'@'%';
grant select on peqref.npc_types to 'eqemuview'@'%';
grant select on peqref.npc_types_metadata to 'eqemuview'@'%';
grant select on peqref.object to 'eqemuview'@'%';
grant select on peqref.object_contents to 'eqemuview'@'%';
grant select on peqref.peq_admin to 'eqemuview'@'%';
grant select on peqref.petitions to 'eqemuview'@'%';
grant select on peqref.pets to 'eqemuview'@'%';
grant select on peqref.player_corpses to 'eqemuview'@'%';
grant select on peqref.player_corpses_backup to 'eqemuview'@'%';
grant select on peqref.quest_globals to 'eqemuview'@'%';
grant select on peqref.races to 'eqemuview'@'%';
grant select on peqref.rule_sets to 'eqemuview'@'%';
grant select on peqref.rule_values to 'eqemuview'@'%';
grant select on peqref.sharedbank to 'eqemuview'@'%';
grant select on peqref.skill_caps to 'eqemuview'@'%';
grant select on peqref.spawn2 to 'eqemuview'@'%';
grant select on peqref.spawn_conditions to 'eqemuview'@'%';
grant select on peqref.spawn_events to 'eqemuview'@'%';
grant select on peqref.spawnentry to 'eqemuview'@'%';
grant select on peqref.spawngroup to 'eqemuview'@'%';
grant select on peqref.spells to 'eqemuview'@'%';
grant select on peqref.start_zones to 'eqemuview'@'%';
grant select on peqref.starting_items to 'eqemuview'@'%';
grant select on peqref.timers to 'eqemuview'@'%';
grant select on peqref.tradeskill_recipe to 'eqemuview'@'%';
grant select on peqref.tradeskill_recipe_entries to 'eqemuview'@'%';
grant select on peqref.traps to 'eqemuview'@'%';
grant select on peqref.tribute_levels to 'eqemuview'@'%';
grant select on peqref.tributes to 'eqemuview'@'%';
grant select on peqref.variables to 'eqemuview'@'%';
grant select on peqref.warehouse to 'eqemuview'@'%';
grant select on peqref.zone to 'eqemuview'@'%';
grant select on peqref.zone_flags to 'eqemuview'@'%';
grant select on peqref.zone_points to 'eqemuview'@'%';
grant select on peqref.zone_server to 'eqemuview'@'%';
grant select on peqref.zone_state_dump to 'eqemuview'@'%';
grant select on peqref.zoneserver_auth to 'eqemuview'@'%';
grant select (id, name, charname, sharedplat, status, gmspeed, revoked, hideme, rulesflag) on peqref.account to 'eqemuview'@'%';
That's a lot of grants, but to prevent access to a part of the account table you have to grant the privileges on a table per table basis. This is how SQL works.
Reply With Quote
  #7  
Old 04-13-2008, 06:32 PM
bdrumm
Fire Beetle
 
Join Date: Oct 2007
Posts: 1
Default umm?

The Downloads Dont work.. Wtf.... Please send me a PM on here. and if you could send me a Instant message over Windows Live Messenger.. Im always on there..


~bdrumm~
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 01:11 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3