Hello there.. (Status Update)

3 minute read

Hard to believe it’s been almost a year since my last post already. This year has flown by so fast. I have been working on various projects, some public, some private. So I’ll use this post as a means to give some updates.

Ashita v4

Firstly, Ashita v4 has been going through its open beta testing for over a year now, more or less just allowing the platform to validate its stability. The beta is lasting longer than I had planned but at the moment I had to take a break from FFXI related projects due to burnout. Some things happened with a private project that caused me to really just lose interest in XI for a while so I’ve opt’d to allow v4 to coast along in beta for the time being.

As of now, v4 has proven itself stable on both retail and private servers. My new Sandbox plugin has shown to be fairly popular and is already planned for use with several new private server installations.

Going forward, we still need to finish a new UI launcher for managing configurations, downloading addons/plugins, and so on. There are plans for how this may turn out but for now it’s on hold.

XiEvents

Back in February, I released a new repository related to reversing FFXI’s event VM. This was released on GitHub as a means to share information on each of the opcodes that are registered to the virtual machine, along with pseudo code dumps of each of the opcode handlers. This was a side project that was previously started in private with others, but after some issues with said other people, I opt’d to just do it myself.

You can find this repository here: https://github.com/atom0s/XiEvents

Synacor Challenge from 2012 OSCON

In March, a friend posted an old (2012) challenge from Synacor to a shared Discord server wanting to see others attempt the challenge and share their work/findings to discuss things. This was a kind of challenge I enjoy, as it was focused around reimplementing a virtual machine and solving a challenge through your own implementation. The challenge turned out to be a text-based game challenge which brought back some great memories. During this challenge, I used it as a means to actually start learning Python. I’ve never taken Python too serious other than hacking together bits or modding pre-existing scripts, so it was a fun little experience to work with the language.

My virtual machine implementation and full solution to the challenge can be found here: https://github.com/atom0s/Synacor-Challenge-2012

Steamless

Over the last year I have made several commits to my Steamless project. For those that are unaware, Steamless is a tool that automates the removal / unpacking of the SteamStub DRM layer that some Steam games use. SteamStub is part of the Steamworks SDK. The goal of Steamless is to only remove this layer of protection for modding / reverse engineering. Steamless is NOT for piracy and you will not get any help removing the additional steam_api module usage from any game.

Some of the major changes over the year include:

  • Fixes for the 2.1 (x86) unpacker using incorrect sizes.
  • Fixes for incorrect realignments.
  • New option to disable automated section realignment.
  • Fixes and updates to support various files using Tls data/callbacks.
  • Add support for SteamStub v1.0 (x86).
  • New option to null the unpacked file DOS stub.
  • Add support for handling the file PE header checksum. (And additional options for how to handle the checksum.)
  • Added a new command line version of Steamless.
  • Added more support for v2.0 (x86) variants.

You can find Steamless here: https://github.com/atom0s/Steamless

Real Life

Over the last year I’ve been dealing with some health issues which have taken most of my other free time. I opt’d to push aside projects that may cause me any kind of stress to help avoid conflicting issues with my health. One of those things being all projects related to FFXI for a short while.

This past week our Pomeranians also gave birth to 5 puppies, so our house has been busy with new doggo’s. :)

Leave a comment