Wiki for Developers

Wilhuf

Overanalyzer
Gender
Male
Guildcard
42011395
Major edit:

Several like-minded people got together and set up a PSO developer's wiki here: http://sharnoth.com/psodevwiki/
Public daily backups can be found here: https://github.com/jakeprobst/psodevwikibackup

Everyone can make use of it and is encouraged to contribute to the wiki. To contribute, all you need to do is make an account and you can start writing! Daily backups are made in the form of git commits to a public Git repository. This way anyone can easily replicate the wiki and the information will be available and free forever. No single person should ever control this wiki, the information belongs to the entire community.

If you have ideas for improving the wiki, let's discuss them here or on any of the other forums this thread has been posted:
Ephinea: https://www.pioneer2.net/community/threads/wiki-for-developers.4577/
SchtServ: https://community.schtserv.com/topic/1469-wiki-for-developers/
Sylverant (DCEmulation): http://dcemulation.org/phpBB/viewtopic.php?f=75&t=104164
Ultima: https://www.phantasystaronline.net/forum/index.php?/topic/28590-wiki-for-developers/

I'd also like to thank Jake (@ToasterMage) for hosting the wiki!
 
Last edited:
I also want to stress that everyone who contributes should and will be mentioned on the wiki. It's not about just giving away what you know for free without even getting credit. It's about being the giants upon whose shoulders others can stand. It's about making it easier for new developers to improve things for the whole community. E.g. there will never be a wiki without a mention to Schthack. And I'm sure there are many others who've made substantial contributions to this community.
 
Very interesting. While I don't know much about reverse engineering PSO it's certainly useful to have a spot where all of it is documented. I'm all for this.

.nj(ninja models i think they're called?) should be the 3D models themselves. What I use to load up the characters in Cinema 4D, Noesis, Blender, etc.
 
Just wanted to say that im so glad to see this. Been a fan of the game since 2006 or so, just now getting into hacking and dev. Been mostly researching at this point so i dont re-invent the wheel. Youre right, knowledge seems scattered all over the place like pieces of triforce. Wish i had more experience with wiki stuff so i could be more helpful.

Ngl, found this thread from stalking Wilhuf, haha. Someone linked his thread having to do with .rel files and map generation. Trying to grab some art assets myself to recreate Pioneer II in VR. Great stuff, if theres anything i can do in return let me know!
 
Glad people like the sound of it!

A couple of us got together and we decided to set up a DokuWiki here: http://sharnoth.com/psodevwiki/. It's hosted by @ToasterMage, thank you Jake!

Everyone's encouraged to join and add to it. And nothing's set in stone, if you have a better idea, tell us.
 
@Wilhuf I registered for an account but I haven't received an email for my password.

Edit: found in spam folder
 
Last edited:
Nice, another contributor!

And I forgot to ask, how do you import those nj files into 3d programs, did you write your own converter? You showed us a Java book in that video you posted somewhere, so I know you can program at least a little bit. :p And by 3d models, do you mean just character models, or also enemies and more?
 
Nice, another contributor!

And I forgot to ask, how do you import those nj files into 3d programs, did you write your own converter? You showed us a Java book in that video you posted somewhere, so I know you can program at least a little bit. :p And by 3d models, do you mean just character models, or also enemies and more?

I can code a bit, only in Java and Python from a required CS class I took. No I didn't write my own converter, I used Noesis to view the .nj files and applied .njm animations to the models. Noesis allows me to export .nj models in a format I could use (.fbx & .obj) and load them into Cinema 4D.

By 3D models I mean character models, enemy models, weapon models. Strictly those 3. I'm not sure why Item Boxes, map doodads are in .xj.
 
I noticed that you cant find via searching the ISO contents of PSO for Gamecube. How comfortable are yall with linking to a host with such files on it?

Also, is there a chat like a discord or IRC for maintainers of the wiki? Or are we just gonna use this thread.
 
I noticed that you cant find via searching the ISO contents of PSO for Gamecube. How comfortable are yall with linking to a host with such files on it?
if its not uploaded to the site itself it should be fine.

or you can just search emuparadise for the disk and use that one gamecube iso extracting tool that I forget the name of
 
Is there any particular format you guys are looking for on the messages section of the wiki? I have a whole notebook full of all of the BB packets up through the login server as used by Archon that I could contribute if I find motivation to translate them from handwritten notes
 
@Wilhuf wanted to do tables like in the file formats, but me and others suggested C-like structs because for the messages (packets, commands) it seems to be easier to read and get a grasp of the overall structure.

If you have any other idea, feel free to suggest it and see how it goes.
 
@Wilhuf wanted to do tables like in the file formats, but me and others suggested C-like structs because for the messages (packets, commands) it seems to be easier to read and get a grasp of the overall structure.

If you have any other idea, feel free to suggest it and see how it goes.
Right on. If struct format ends up winning out then I'd probably just copy and paste the Go struct definitions from Archon, the structure and data types are basically the same
 
Tbh, I prefer C more than Go (there are already some structs in C) but I guess it doesn't matter as long as the fields are clear, someone can change them later to C later to keep some consistency.
 
Very good idea and initiative, info is/was scattered at best... :(
I'm not educated enough in PSO hacking/dev to contribute to the project but I'll visit the website to check on progress every now and then ! :)
 
Is there any particular format you guys are looking for on the messages section of the wiki? I have a whole notebook full of all of the BB packets up through the login server as used by Archon that I could contribute if I find motivation to translate them from handwritten notes

Here's an example with tables: http://sharnoth.com/psodevwiki/doku.php?id=format:n_rel
And one with C structs: http://sharnoth.com/psodevwiki/doku.php?id=format:dat

I like tables because they're language-agnostic, they contain more info (such as offsets to fields, which is handy when using a hex editor) and I just find them easier to look at. But if you have all the messages in Go structs, just converting those to C structs will be much faster of course. It would be nice though if you didn't just copy-paste, as otherwise we'd have a third format (tables, C structs, Go structs). We could also copy them from the Sylverant source code, which is in C. But even Go structs would be better than what we have now.

This page is also a great resource for messages: https://sylverant.net/wiki/index.php/Category:PSO_Server_Protocol.

Very good idea and initiative, info is/was scattered at best... :(
I'm not educated enough in PSO hacking/dev to contribute to the project but I'll visit the website to check on progress every now and then ! :)

It's good that many people know about this, even if they're not developers. This way someone can always point people with questions or ideas to the right spot if they ask for information.
 
It would be nice though if you didn't just copy-paste, as otherwise we'd have a third format (tables, C structs, Go structs). We could also copy them from the Sylverant source code, which is in C. But even Go structs would be better than what we have now.
I'm just being lazy, having them all in the same format (regardless of what it is) would definitely be more ideal, just tedious to convert.


I've known about that wiki for a while, the problem is is that the packets as documented are for GC and Dreamcast (which are what Sylverant was originally written for). BlueCrab used to have a wiki with a lot of the BB formats documented but was forced to take it down when the wiki hosting provider was going to start making him pay for it. Last time I talked to him about it he was thinking of copying the packets from his old site but it understandably it doesn't look like he's gotten around to it.
 
Back
Top