[LATEST] PS1 GameLogger 1.0.0.1

Any official tool or server releases.
User avatar
Chord
Site Admin
Posts: 162
Joined: Wed Oct 14, 2015 4:31 pm
Contact:

[LATEST] PS1 GameLogger 1.0.0.1

Postby Chord » Fri Oct 23, 2015 2:43 am

>>>> Download PS1 GameLogger 1.0.0.1 <<<<

What is PS1 GameLogger?
This tool is a packet logger for PlanetSide 1. It uses a DLL which hooks in to PlanetSide's packet functions
and relays any sent packets back to a waiting C# interface. This tool will aid in reverse engineering
PlanetSide's complex packet structure and allow for detailed packet captures to be preserved when
the servers get taken down.

While this tool doesn't automagically create a private server, it acts as insurance for server takedowns and builds a repository of packets for inspection. The more packets captured, the more references that can be used when developing the game server.

How do I use PS1 GameLogger?
Easy! Just download the ZIP, extract, and run PSCap.exe. Make sure that when you extract that the accompanying DLLs stay in the same directory as the main EXE. NOTE: you CANNOT run this by double-clicking straight from the ZIP file. You must extract first.

The game logger works by detecting running PlanetSide processes, injecting a instrumentation DLL in to the process, and logging PS game events in real-time.
First, run PS either through the GameLauncher or the regular DBG launcher. While running GameLogger, wait for the PlanetSide process to appear in the dropdown menu. Click 'Attach' and the logger will inject the logging DLL and be ready to start capturing. Now when you are ready, you can hit '> Start Capture' in order to begin logging game events. You can stop capturing at any time. When stopping and restarting or exiting, you will be prompted to save your capture file. Before the 'Save as' dialog pops up, a capture Metadata window will appear. You should enter a name and description about what you accomplished or what occurred during the capture session. Talk about the major events and anything unusual.

What exactly should I capture?
You should capture interesting things. What I mean by that is things that aren't common, such as receiving a merit or discovering a monolith. These uncommon experiences are what we want the most as they are part of what makes the game complete. Focus on things that you may not have done more than once in PlanetSide, such as fortifying a base turret or refueling a base with an ANT. There is going to be overlap between capture files, but this is okay. You can't ever have too many packets.

What type of information does this collect?
This program does not collect any personally identifiable information and does not communicate over the network. It only serves to capture in game packets.
These packets include chat messages and player names, but no passwords or usernames. Capture files store metadata with a unique ID and timestamps, but not specific computer information.
Note: log files MAY contain personal information (such as file paths or system versions).

The logger crashed, what the heck!?
Sorry about that! In the directory that your PSCap.exe lives, you will see some text log files. Please submit these to Chord along with what you were doing when the crash occurred. Don't re-run the logger until you have made a copy or submitted these log files as the capture tool will overwrite them.

Changelog
* Added progress bar for opening big capture files
* Fixed bug where recapturing without saving would add a packet to a frozen capture leading to a crash
[ PSForever admin and developer ]
PSForever Code | Capturing Packets | Community Discord
User avatar
FateJH
Posts: 95
Joined: Mon Nov 02, 2015 8:37 am

Re: PS1 GameLogger 1.0.0.1

Postby FateJH » Sun Dec 20, 2015 12:31 pm

Feature request!

I'm doing some visual packet analysis, trying to make some approximations about how things are communicated; but, it's a tiresome process as I have to hard copy from the Logger by hand or eyeball a comparison. I'm not far away from being bothered to write my own GCAP file reader/converter. It would probably be more accessible to provide copy functionality to the logger's hex and string data fields directly.

I also was going to request a filter in the Logger but, now that it comes down to specifying the feature, I don't really know what exactly I want it to do. The only reason I wanted such a mechanism was to reduce grabbed BotTriggerMessage spam in the Shooting Range and KeepAliveMessage spam (and its complementary UnknownMessage189 of size 19) in general.
VS: FateJH, BR 21 CR 0 TR: FJH, BR 18 CR 1 NC: FateJHNC, BR 14 CR 0
User avatar
Chord
Site Admin
Posts: 162
Joined: Wed Oct 14, 2015 4:31 pm
Contact:

Re: PS1 GameLogger 1.0.0.1

Postby Chord » Sun Dec 20, 2015 2:41 pm

FateJH wrote:Feature request!

I'm doing some visual packet analysis, trying to make some approximations about how things are communicated; but, it's a tiresome process as I have to hard copy from the Logger by hand or eyeball a comparison. I'm not far away from being bothered to write my own GCAP file reader/converter. It would probably be more accessible to provide copy functionality to the logger's hex and string data fields directly.

I also was going to request a filter in the Logger but, now that it comes down to specifying the feature, I don't really know what exactly I want it to do. The only reason I wanted such a mechanism was to reduce grabbed BotTriggerMessage spam in the Shooting Range and KeepAliveMessage spam (and its complementary UnknownMessage189 of size 19) in general.


This has been on my list of features for a while! I haven't gotten around to it because currently the way it's written doesnt lend itself to that. I don't have access to my Windows dev environment as I'm away on holiday, but I do have access to the source code. I may just release the source code to github so you can hack on it. You shouldnt have to reverse engineer the file format.
[ PSForever admin and developer ]
PSForever Code | Capturing Packets | Community Discord
Gavvers
Posts: 2
Joined: Fri Jun 24, 2016 6:49 pm

Re: PS1 GameLogger 1.0.0.1

Postby Gavvers » Tue Jun 28, 2016 11:17 pm

Hello Chord,

Came on over here a couple days ago on seeing Nick's posting on Reddit, and I gotta say, I'm kicking myself that I didn't find this place sooner. Now PS1 is going offline in a couple of days... my timing seriously sucks.

Anyway, I like the work you are doing here. I've had a dream since having to stop playing PS pretty much for good of remaking it and bringing back the glory. Always just a dream though, too big for me alone to tackle. Maybe I can help a little bit.

I forked your GameLogger repo and cooked up a couple of ideas, you can see them in the two feature branches on my repo.

One idea is to allow users to see the record timestamps in actual time, rather than as seconds since start of capture. My reasoning for this is that it is easier to see what may have happened when, ie. I know that at 5:13 I was getting out of my mossie and voila with absolute timestamps I can easily see the records around that time. I implemented this as a setting under Edit->Preferences. Note that if records are already in the listview when the setting is activated, the user needs to scroll in order to update the virtual items as I didn't get to having them update automatically.

My second idea was to make use of the comment field in RecordGame as a way for users to take notes on what they were doing around the time of any given record. That field was otherwise unused as far as I could tell. I added it to the encoding/decoding scheme, and also had to add some code to handle converting gcap files that do not have the comment field encoded. I took a bit of liberty doing this, hope it's ok with you. Edit: Oops forgot to mention that I added the comment field as a column to the table and it is accessible by double-clicking on a given record.

I have a third idea that I haven't started yet to use something like sqlite to maintain a running backup of a capture file to protect against loss from a hard crash.

Hope these ideas are useful even if they are a tad late, heh.

I'd definitely like to help with the server code, though I will need to brush up on scala. I will also look at the launcher, but have been working on the above ideas in the logger till now.

Thanks!
User avatar
Chord
Site Admin
Posts: 162
Joined: Wed Oct 14, 2015 4:31 pm
Contact:

Re: PS1 GameLogger 1.0.0.1

Postby Chord » Wed Jun 29, 2016 2:14 pm

Hey there and welcome to PSForever!

Glad to have your contributions. They aren't too late as we will still have the capture files for offline analysis.

I like your setting for changing the timestamps - I've been meaning to add a preferences page for a while.
I also like your comment patch, but it could be simplified. We can bump the capture file version (preventing all older capture tools from opening the new version) and then add quirks handling to the GameRecord so it can open new and old captures (it will "upgrade" old captures to the new format).

Go ahead and open some pull requests and we can talk about it more!
[ PSForever admin and developer ]
PSForever Code | Capturing Packets | Community Discord

Return to “Releases”

Who is online

Users browsing this forum: No registered users and 1 guest