Well, as you might have noticed from the Twitter feed (as well as from other places), I’ve been on a bit of a hiatus the past month and a half or so. This was due to many different situations, and was planned in advance of the drama that unfolded over the server rules (sorry to disappoint anyone who thought that the drama there scared me away or something).
Anyway, I’m still pretty much on hiatus from Sylverant, but I did decide to use a bit of my free time the past few days to work on a few things. So, I figured a status update is in order (especially since the last one was back in April). So, without further ado, here’s what’s changed since the last “monthly” update:
- Warning cleanup in the code.
- Added code for parsing the ItemPT.afs and ItemPT.gsl files for PSOv2 and the later versions (respectively). Thanks to Lee for lots of information about the format of these files!
- Fixed a few issues that could cause segfaults in the server code.
- Don’t show Blue Burst games to Gamecube clients.
- Added code for parsing the map data from PSOv2 (in addition to the Blue Burst parsing that was already in the code).
- When a client leaves a team, send them back to the lobby they came from, as long as its not full.
- Added code for parsing the ItemPMT.prs files from PSOv2 (later versions are not supported currently). Thanks to Lee for some valuable information on the subject!
- Fixed a potential crash for PSOPC clients when searching for someone by guildcard or choice search when they are in a team that has a name that is of max length.
- Made the results for guild card searches have all the same information they did on Sega’s server.
- Fixed an issue with /minlvl and /maxlvl where they were off by one.
- Added code to the random number generation stuff to support multiple streams of random numbers (one per thread).
- Added a –check-config option to ship_server to make it so you can check the validity of a configuration file without actually starting the ship server.
- Added in parsing for the ItemRT.afs file from PSOv2 (once again, later versions aren’t supported right now, although this shouldn’t be much of an issue).
- Fixed a few minor issues in the map parsing code for v2 and bb.
- Track when clients hit a monster on v2.
- Prevent a potential segfault if map enemy data is not loaded for a team.
- Added support for full server-side drops on PSOv1, PSOv2, and PSOPC (and partial support for the other versions).
- Added the /sdrops command to enable server-side drops.
Most of these are fairly boring updates, except the last two. These probably need a bit of explanation, which will come more fully later on. For a brief explanation, continue on (with the continue reading link, or if you’re already on the full story by reading below).