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 07-02-2008, 12:10 PM
cybernine186
Sarnak
 
Join Date: Feb 2008
Posts: 87
Default EQ Profile Editor 1.0 Release

EQ Profile Editor 1.0
-----------------------------------------------------

This program was written and designed for the purpose of editing the user profile and account for the EQ Emulator Server Database.

This is a good work in progress and I have been testing it for quite some time now before my 1st release. This has also been testing on popular Emu Server database and I have been pleased with the results. Feel free to post any questions relating to the program and/or its functions. There are more updates to come in the future, if you have any good ideas please post them and I will see what I can do.

I have worked very hard with this script and I hope you enjoy it.

1. Program features includes editing & viewing all the following:
a. Account
b. Stats
c. Coin
d. Char Profile (Name, Last Name, Title, Gender, Race, Class, Level, Deity, etc.)
e. Current Zone & Zone Coordinates (Including ability to move to safespot)
f. Facial Features
g. Buffs (View Only)
h. Spell Book
i. Memorized Spells
j. Languages
k. Skills
l. Inventory (Including Popup Item Viewer, to see items stats)
m. Maintenance (This can be custom scripts).
The only script right now is the ability to do coin wipe on entire server.
Please be carefull with this tool, everyone on server must be logged out
inorder for this feature to work. It does not work on corpses, that is
the only downfall I can think of right now.


2. Prequisits - Tested Platforms
a. Linux (Fedora Core 3+) and Windows (XP) OS
b. Apache Web Server (Not tested on IIS)
c. PHP 5.2.6 /w the following extensions (Will work with lower PHP 5 versions)
a. timezonedb
b. MySQL
d. MySQL (Works with recomended MySQL Versions for EQEmu)

3. Install & Configuration php scripts.
a. Unzip into your web server direcory
b. Use Notepad or your favorite editor and open up
the configuration.php in the includes/lib/ folder.
c. Change the Login Username and Password to keep from unauthorized access.
d. Change the MySQL Username, Password, Hostname and Database.

4. Source the MySQL Data into database
Source the schema.sql located in the root directory of the php script folder
into the current working database of your EQEmulator Server.

This will not effect any of the preloaded tables in your database, this program
uses a prefix on all of its tables to prevent any kind of naming issues.

EQ Profile Editor 1.0
Reply With Quote
  #2  
Old 07-02-2008, 12:18 PM
cybernine186
Sarnak
 
Join Date: Feb 2008
Posts: 87
Default

FYI: This only works with characters that is offline. If you do make changes to a character the changes are not permanent.
Reply With Quote
  #3  
Old 07-02-2008, 12:57 PM
ChaosSlayer
Demi-God
 
Join Date: May 2007
Posts: 1,032
Default

Quote:
Originally Posted by cybernine186 View Post
FYI: This only works with characters that is offline. If you do make changes to a character the changes are not permanent.
you mean changes NOT permanent to a char who is ONLINE, or they.. never permanent? =)
Reply With Quote
  #4  
Old 07-02-2008, 01:33 PM
cybernine186
Sarnak
 
Join Date: Feb 2008
Posts: 87
Default

Changes only work with characters that is offline. (With the exception of Account Table Changes such as: GM, Account Status, Revoked, and Inventory.)


You can view any character at any time no matter if they are online or offline.

If you change anything on a character while they are playing the change is simply ignored by the client because this edits the database directly. Then when the client sends changes and saves the profile to the servers database the entire profile in the database is overwritten by what the client has.


Try it out for your self and post your results......
Reply With Quote
  #5  
Old 07-02-2008, 01:37 PM
nosfentora
Discordant
 
Join Date: Oct 2004
Location: In a house
Posts: 377
Default

I've got it installed and edited the configuration.php file, but it continuously asks me for a username/password.

any thoughts?
Reply With Quote
  #6  
Old 07-02-2008, 02:12 PM
cybernine186
Sarnak
 
Join Date: Feb 2008
Posts: 87
Default

That is the login username and password...

Default is.
Username: admin
password: admin

You can change it in the configuration.php file
Reply With Quote
  #7  
Old 07-02-2008, 03:31 PM
cavedude's Avatar
cavedude
The PEQ Dude
 
Join Date: Apr 2003
Location: -
Posts: 1,988
Default

This is going to be a huge help to me, thank you! Much thanks for writing it in PHP, as that's what I limited to using.
Reply With Quote
  #8  
Old 07-02-2008, 03:59 PM
cybernine186
Sarnak
 
Join Date: Feb 2008
Posts: 87
Default

The Coin Wipe under the Maintenance section doesn't work....

This is the proper script for the coin_wipe.php under the scripts folder


PHP Code:
<?php
include("../includes/global.php");


$wipe = new mysql_db;
$wipe->sql "SELECT `id` FROM `character_`";
$wipe->query();

while(
$row $wipe->fetch_assoc()){
    
$profile = new eq;
    
$profile->LoadProfile($row['id']);
    
$profile->SetValue(0'platinum');
    
$profile->SetValue(0'gold');
    
$profile->SetValue(0'silver');
    
$profile->SetValue(0'copper');
    
$profile->SetValue(0'platinum_bank');
    
$profile->SetValue(0'gold_bank');
    
$profile->SetValue(0'silver_bank');
    
$profile->SetValue(0'copper_bank');
    
$profile->SetValue(0'platinum_cursor');
    
$profile->SetValue(0'gold_cursor');
    
$profile->SetValue(0'silver_cursor');
    
$profile->SetValue(0'copper_cursor');
    
$profile->SetValue(0'platinum_shared');
    
$profile->SaveProfile();
    
printf("%d | "$row['id']);
}
?>
Reply With Quote
  #9  
Old 07-02-2008, 04:05 PM
nosfentora
Discordant
 
Join Date: Oct 2004
Location: In a house
Posts: 377
Default

i did change the configuration.php file, like i said, and it still asks me for login/password.

i tried what i edited the .php to, and admin/admin just ooc and that didn't work either.
Reply With Quote
  #10  
Old 07-02-2008, 04:11 PM
cybernine186
Sarnak
 
Join Date: Feb 2008
Posts: 87
Default

What OS/Web Server/PHP Version are you running?

If you want to disable the login information you can edit the header.php

Remove the following lines from header.php

PHP Code:
if(($_SERVER['PHP_AUTH_USER'] != $cfg['login']['username']) or ($_SERVER['PHP_AUTH_PW'] != $cfg['login']['password'])){
    
    
// Send Browser Authorization
    
header("WWW-Authenticate: Basic realm=\"EQ Editor\"");
    
header("HTTP/1.0 401 Unauthorized"); 
    die(
'You are not authorized to view this page');

Reply With Quote
  #11  
Old 07-02-2008, 04:24 PM
nosfentora
Discordant
 
Join Date: Oct 2004
Location: In a house
Posts: 377
Default

Win Server 2003, Apache 2.0.63, PHP 5.2.5

Same thing happens when using IIS, and with Firefox and IE.

Looks like i needed to comment that out in SEARCH.PHP too....
Reply With Quote
  #12  
Old 07-02-2008, 04:55 PM
cybernine186
Sarnak
 
Join Date: Feb 2008
Posts: 87
Default

i cant figure out why it isn't letting you log in that way but just comment those lines out. It wasn't supposed to be in search.php but I corrected it and i will replace what fixes I have already found so far.
Reply With Quote
  #13  
Old 07-02-2008, 05:34 PM
ndnet
Hill Giant
 
Join Date: Oct 2003
Posts: 105
Default

Spiffy looking tool I must say. I'm poking through it currently and encountered a problem with logging in, myself.

You see, I set the EQ Profile Editor up in a subdirectory of a folder that already has Apache basic authentication. When my browser hits the Profile Editor, it then passes the credentials for the previous authentication which don't match the editor.

I removed the auth check in search.php and modified the check in header.php to this simple login form that uses sessions:

Code:
<?php
include("includes/global.php"); // This already existed, to give an idea of where I added this..

session_start();

if( isset($_REQUEST["user"]) && isset($_REQUEST["pass"])){
	$_SESSION["username"] = $_REQUEST["user"];
	$_SESSION["password"] = $_REQUEST["pass"];
}

if( $_SESSION["username"] != $cfg['login']['username'] || $_SESSION["password"] != $cfg['login']['password']): ?>
<html>
<title>EQ Editor: Login</title>
<body>
<form action="" method="POST">
<label>Name:</label><input type="text" name="user" value="Username" onFocus="javascript:this.value=null;"><br/>
<label>Pass:</label><input type="text" name="pass" value="Password" onFocus="javascript:this.value=null;"><br/>
<input type="submit" value="Submit">
</form>
<?php die(); endif;
Works for me, feel free to take and modify for your needs.
Reply With Quote
  #14  
Old 07-02-2008, 05:39 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Wow, this tool looks really nice! Thanks for sharing it!

One thing I noticed is that all permanent items are showing up as having the TEMPORARY flag on them, so you probably have the Permanent and Temporary settings reversed. Pretty minor considering this is the initial release though!
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #15  
Old 07-02-2008, 06:09 PM
cybernine186
Sarnak
 
Join Date: Feb 2008
Posts: 87
Default

Quote:
Originally Posted by trevius View Post
Wow, this tool looks really nice! Thanks for sharing it!

One thing I noticed is that all permanent items are showing up as having the TEMPORARY flag on them, so you probably have the Permanent and Temporary settings reversed. Pretty minor considering this is the initial release though!
I have seen the issue and have corrected the problem, also I have fixed couple other issues that I have seen since release.

The login system wasn't supposed to be grand or anything just something quick while I was working on the program its self.

Also I removed the unnecessary lines from search.php so it won't cause any errors in the event log.

Also the coin_wipe.php was missing a include at the start of the script in order for it to work, I have added this line. (Please be aware that this script takes several minutes so check your php.ini settings to make sure that 'max_execution_time = 3000' or higher, otherwise the script will timeout.)

I will include a 1.1 release later tonight or tomorrow.
Reply With Quote
Reply


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 07:13 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 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3