PSOBB Inventory reader/Player manager tool

Chuk

Member
Hello all, I think this might be a fairly handy tool for people that manage their own PSOBB server with a MySQL database.

fzcf2w.jpg


Main features :

- Look up character information
- Read inventories, banks and common banks
- Look up linked accounts
- Save information to files (Plain txt, BBcode and PNG files) -> Gets saved in the DATA folder.
- Load local plyer_data file

In full version :

- Edit, remove and add items to inventories, banks and common banks
- Ban accounts (bulk)
- Rename characters
- Edit id-section characters

In the DATA folder you will see a properties.cfg file, fill in the details of your PSO database for the tool to allow to make a connection.

Code:
useproperties=yes (leave this to yes)
server=your_psoserver.com (or ip address)
user=your_db_username
password=your_db_user_password
database=pso
port=8888(unused atm)
Any errors will be saved to the inventory_reader_error.log file in the data folder. So take a look if something is not working.

Maintenance

The item_data.xml file contains the item ID's and their readable name. If your server has uniqu items, jusst add the entry to the xml file.

I'll start by releasing the read only version and if the demand is high enough I might release the full tool.

Please report any bugs or extra features you'd like to see in this topic. (some are already known)

Read me

Code:
Requirements to run/use this tool :

	- .NET framework 4.5 or higher (on windows Vista/7/8/10 or higher)
	- Have the included data folder in the same directory as the .exe 
	  (avoid spaces and special characters in the path)
	- Do not rename the .exe to something else
	- Windows 64-bit

Server settings:

	--------------------------
	inventory read/write : 
	--------------------------
	username: yourusername
	password: yourpassword
	privileges : 
	read/update on account_data
	read/update on character_data
	read/update on bank_data
	read/update on team_data

	--------------------------
	inventory read only : 
	--------------------------
	username: yourusername
	password: yourpassword
	privileges : 
	read on account_data
	read on character_data
	read on bank_data
	read on team_data

Make sure the DB port is accessible for the tool
	
if you find a bug that's not listed below, let me know.

=========
Todo
=========

    Fix bug with reading out S-ranks
    Read out MAG photon blasts
    remove bug from add function (desyncs inventory count with counter)
    allow for variable offset (might be neededo n other servers)
    rename selected item option

=========
Changelog
=========

Stability :

    When selecting an item after changing the radiobutton (inventory/bank/common) prevent the crash.
    Check if save_list folder exists when clicking on the save to list button to prevent crash if it's not there.
    Fix the edit character name option (length, weird character at the end and space in front of name).


Functionality :

    Added ban button that can ban all linked accounts of a character
    Added  cancel button so that Soly doesn't accidentally ban all players xD
    Added 'copy to clipboard' button on the banning panel so you can save a list of related accounts
    Added save items to list (like save BBCode but without BBCode)
    Implemented Screenshot feature (finally lol)
    Added menu to open folder of saved files/screenshots
    Added a feature to reload the previous looked up guildcard(s) (it saves your history since the tool has been open)
    Added an 'about this reader' button
    Added new ultima only items in the data list
    Mags are read with correct stats
    New stackable items get read with amount
    ID of characters can be changed (not in read only)


///////////////////////
Made by Chuk for Ultima
///////////////////////

Enjoy.
 

Attachments

  • example.png
    example.png
    92.4 KB · Views: 836
  • inventory_reader.zip
    424.9 KB · Views: 547

Chuk

Member
Sodaboy said:
Pretty neat program! I know A LOT of people will LOVE this.

Yeah, we considered this the swiss knife for the GMs, handy to find hackers, help out with donations and mini events. There are a couple of client memory readers that do the same thing but those are always read only.

kida said:
Really awesome tool :) Thanks a lot for this!

You're welcome, I hope it works for any server as I've only used it on ultima. But any input is welcome so don't hesitate to post problems here, I'll try my best to come back at them.
 

Neirene

Member
I'm very surprised for this tool!! very good job!! (・∀・)ノ

However I have a question, it is possible to use this tool without issues while the server is running with players online or it would be better to use it while the server is offline?
 

Soly

Member
Neirene said:
I'm very surprised for this tool!! very good job!! (・∀・)ノ

However I have a question, it is possible to use this tool without issues while the server is running with players online or it would be better to use it while the server is offline?
No, if a player is online, any change to his inventory will be overwritten when the player reloads blocks or logs off. Reason why is_logged would be a nice thing to have working.
However, if a player is not online, you can do anything with it. No need to have the "server" offline.

[Chuk]
:cry: y u do dis
xD I guess I took long, either way mine was inspired by yours so no big deal.
 

Chuk

Member
Neirene said:
I'm very surprised for this tool!! very good job!! (・∀・)ノ

However I have a question, it is possible to use this tool without issues while the server is running with players online or it would be better to use it while the server is offline?

You can run the readonly version perfectly fine when the server is running. It only reads from the database (SELECT queries)

If it's the version that can edit, you'll need to be careful when the player is online (that you're editting the inventory of). It can cause a data overwrite of that character and he can lose his last progress, so I always kick the player off the server to be sure before I edit his data. (hence I'm also looking forward to the 'is_online' feature in tethalla being implemented. Though it doesn't need to be through the database per se.

EDIT: Sorry Soly, you've been posting too much tools already, let your senpai also post some stuff haha x)
 

kida

Member
I really love this tool!!

I know it doesn't really count as "high demand" but it would be really nice to have the version that can edit.

Either way, thanks a lot!!
 

Karma

Member
I definitely appreciate that you've got support for people to add their own items. The write version would be very useful for any teth admin, so I'll definitely second the above post.
 

Soly

Member
You can't do such a thing.
This tool (and mine that is based on chuk's) connect directly to the database. Be it through a VPN, running as local host or however you set it up you would need some kind of access to the database, which you would not have if you are not admin or part of the staff (most of the time unlikely).
 

qwerty

Member
given that you can download your char data here
it's possible to know what items are in your char's inventory/bank by parseing the exported char files
every exported file is 14752 (0x39A0) bytes, same size as struct CHARDATA defined in login_server.c from tethealla_source_032111
though no common bank data is exported atm

and it's also possible to retrieve list of items by reading psobb's memory when it's running
just like what those existing inventory scanners do, e.g. lshud's PsobbViewTool and lee's Schtserv Reader
but i don't know if we're allowed to use such tools here
 

Soly

Member
Well yeah, memory readers too...
Unless someone makes a program to read the downloaded character data (I could easily modify my db client to load local files and display them), would be a pain to read that.
 

NDW

03:US/Fodra:02-11
qwerty said:
and it's also possible to retrieve list of items by reading psobb's memory when it's running
just like what those existing inventory scanners do, e.g. lshud's PsobbViewTool and lee's Schtserv Reader
but i don't know if we're allowed to use such tools here
Neither of those programs work for me to retrieve a list of items in the character and shared bank.
 

Soly

Member
NDW said:
Neither of those programs work for me to retrieve a list of items in the character and shared bank.
For the bank you have to open it at least once to see it in the program (for common, change to it, open and close). This at least on lee's tool
It's in the instructions afaik.
 

NDW

03:US/Fodra:02-11
Yes, I ran it as administrator.

PsobbViewToolV2.1 won't let me attach the .exe for PSOBB, also.
 
Top