PDA

View Full Version : EQ Profile Editor 1.0 Release


cybernine186
07-02-2008, 12:10 PM
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 (http://uiaeha.blu.livefilestore.com/y1pVpGTKGNDDcmxOJNdJ_gpJ7Dy_T9Zu2CDLXA0-OtRqY6mBDZiARtbTsYYZBWlN-KNGlhSogKxLK4/EQEditor%201.0.zip?download)

cybernine186
07-02-2008, 12:18 PM
FYI: This only works with characters that is offline. If you do make changes to a character the changes are not permanent.

ChaosSlayer
07-02-2008, 12:57 PM
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? =)

cybernine186
07-02-2008, 01:33 PM
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......

nosfentora
07-02-2008, 01:37 PM
I've got it installed and edited the configuration.php file, but it continuously asks me for a username/password.

any thoughts?

cybernine186
07-02-2008, 02:12 PM
That is the login username and password...

Default is.
Username: admin
password: admin

You can change it in the configuration.php file

cavedude
07-02-2008, 03:31 PM
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.

cybernine186
07-02-2008, 03:59 PM
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
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']);
}
?>

nosfentora
07-02-2008, 04:05 PM
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.

cybernine186
07-02-2008, 04:11 PM
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

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');
}

nosfentora
07-02-2008, 04:24 PM
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....

cybernine186
07-02-2008, 04:55 PM
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.

ndnet
07-02-2008, 05:34 PM
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:


<?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.

trevius
07-02-2008, 05:39 PM
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!

cybernine186
07-02-2008, 06:09 PM
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.

rojadruid
07-02-2008, 11:38 PM
Any way that this tool could be added to the emu built in webserver?

nosfentora
07-03-2008, 07:55 AM
Got in once i commented out the login stuff! This tool is sweet! Well done man!

cybernine186
07-07-2008, 12:47 PM
I am holding off on fixing a few things on the item viewer but other than those bugs already mentioned is there anything else that doesn't work?

I want lots of feedback if everyone can please.

What you think about it?

What can make it better?

Whats wrong about it?

cavedude
07-07-2008, 03:22 PM
Personally, I'd like to see an option to disable the lists of characters on the bottom of the screens. I have no use for it, and I feel it would make the pages look cleaner without. Though, I can understand the argument that it will benefit people with smaller servers so they can easily access their toons, which is why some sort of easy variable to disable it if need be would be nice.

Other than that, I'd like to see AA support, even if it is just for the remaining points the player has, and not the ones they have already spent. Manipulation of a player's bind point, and possibly a reset all bind points script similar to the clear all coin script. The ability to add an item to the player's inventory, with the script automatically determining the best place to put it. Player corpse manipulation would be nice as well, and it wouldn't even require fiddling with the blobs, just support for the regular columns like the zone/coords, rezzed, isburried, and wasatgraveyard. Timeofdeath can be a greyed out field similar to the character's birthdate. There is no need to alter a player_corpses' BLOB anyway I feel so that can be ignored. Lastly, the ability to restore characters and corpses from their backups.

Sorry for all the feedback. I do really love this program, it certainly is the best tool I have come across in a very long time. It has already saved me a ton of time, as I do most of my work on my test server, so I'm rarely on TGC. This tool allows me to help toons out without going in-game which completely rocks.

trevius
07-07-2008, 04:27 PM
I have some accounts set to status 1 to allow them access to certain areas. But, your tool lists those accounts as "banned" for some reason. And, it would be nice if there was an option to set the status to an actual number instead of just "privileged", "Super Privileged", "Super Duper Privileged" :P I don't know what number all of those settings mean. It might be nice to at least have a status number next to the name in the drop down menu.

Very nice tool btw. You already have a ton done on it. I agree with CD about not needing the list of characters that automatically pops up at the bottom. I have over 6000 characters on my server and showing the first 10 isn't very useful lol.

cavedude
07-07-2008, 04:39 PM
I have some accounts set to status 1 to allow them access to certain areas. But, your tool lists those accounts as "banned" for some reason. And, it would be nice if there was an option to set the status to an actual number instead of just "privileged", "Super Privileged", "Super Duper Privileged" :P I don't know what number all of those settings mean. It might be nice to at least have a status number next to the name in the drop down menu.

That can be changed in the DB, my 255 account toon was showing as banned at first too, until I added a new entry for it in the DB. You can also see what all of the statuses mean as well. From what I saw, it was the standard EQEmu status names.

cybernine186
07-08-2008, 12:02 PM
I have some accounts set to status 1 to allow them access to certain areas. But, your tool lists those accounts as "banned" for some reason. And, it would be nice if there was an option to set the status to an actual number instead of just "privileged", "Super Privileged", "Super Duper Privileged" :P I don't know what number all of those settings mean. It might be nice to at least have a status number next to the name in the drop down menu.

Very nice tool btw. You already have a ton done on it. I agree with CD about not needing the list of characters that automatically pops up at the bottom. I have over 6000 characters on my server and showing the first 10 isn't very useful lol.

You can change these settings and what they display by editing the table `editor_account_status`. This script is completely controlled by the tables, this script uses a prefix of 'editor' in the database to determine all of the tables used by this program. Feel free to poke around and change what you need.

cybernine186
07-08-2008, 12:11 PM
Also you can change the default rows to what ever you like in the configuration.php file

Change

$cfg['paging']['maxrows'] = 10;

to

$cfg['paging']['maxrows'] = 1000;

if you want 2, it doesn't matter the number but don't make it too large otherwise it might be a unwanted load on the server resources if your database is too large.