Wait, you changed a different client version through OnConnect to run on BMS? LOL, that's a new one for me, cool idea. I guess that'd work actually, since the version headers of the WZ files are actually in different functions, so it'd still parse the game files correctly and send the proper info for the client. Only downside to this though is if your client's packet structures aren't the same as BMS's version, you'll have to modify BMS's binaries or something.
More on-topic though, I believe there was an actual BMS v8 client/folder that worked with BMS itself. I have the original v8 files which went with BMS, but again I think that was also credits to @
Diamondo25 so I'm not sure if he wants it to remain private or not. Since I'm not sure, I'll let him reply and decide.
Running the BMS files themselves though isn't too complex. You'll need the whole BMS v53 folder, you'll need to move the WZ directories from DataSvr/ into a folder called Data/ instead, and you'll need to install MSSQL and setup the database. Oh, and you'll need to configure the Center.img, Login0.img, and Game0.img etc files. There was an old tutorial yeaaars ago on how to set it all up.
One last thing - BMS files are compiled binaries written in C. They contain microsoft's program database (.pdb) files storing the debug info, and by decompiling them in IDA are able to view local enumerations, structs, and classes. If you were to have BMS in Java, you would quite simply be doing exactly what I am. You'd have to write your own Java source and replicate the binaries, that way you're able to easily update and/or modify any existing code. If you were to run the BMS files themselves, I believe you'd be stuck editing the binaries like you would a client for edits - good ol' olly and asm.