There was also one attempt to make an alternative client for the official servers to deal with some of the lackluster interface issues (longstanding, serious/obvious bugs from 2002 that lasted until 2009ish). From what I recall, it was way too much work, and the core features were easier to deliver as a sort of (eula-breaking) addon to the official client.
It's been a decade so my memory is a bit fuzzy, but here's what I remember about that time:
We started with AEGIS (leaked Korean server files) on the asb-sakray board [1] but it was notoriously hard to setup since it had major MSSQL and ODBC driver dependencies (I wrote guides). We started work on an installer for Aegis but realized we wanted to customize the server even more.
A few emulators started to take hold at this time (YARE probably the biggest) but Gravity (creator of RO) threatened legal action and shut it down.
Enter "Athena"— we discovered a Japanese RO server emulation project on the "Avethes" BBS that had the most complete packet mapping at the time. AppleGirl did most of the first translation of the code (AppleMod) which spawned a ton of other English emulation forks as the YARE developers jumped back on.
It was a really fun time for me— age 14, not much programming experience, in the middle of this massive, open-source MMORPG emulation war. I learned so much about C++, network programming, and server architecture during that time (as did many others). All the different forks openly stole code and ideas from each other so things moved very quickly.
The beautiful thing about writing code for RO private servers was the immediate sense of gratification you got. I could implement a small change to a skill, or a new NPC behavior, and then immediately log into the client and see it in action (and then thousands of users would see it in action when we committed the change).
We weren't concerned so much about code quality in the beginning since Athena strived to be a server modder's paradise— if you wanted raw stability, you went with Aegis instead. Stability came later once all the projects eventually aligned under one flag (eAthena).
I left in 2005 to work on server emulators for Lineage II, and later got bored of servers and jumped to client-side graphics programming, where I've been happily working for the last seven years. (Funny enough, my latest project [2] was used in Lineage II as well as hundreds of other MMOs and games, so I've now written code for both emulators and official. :))
A friend of mine who had a stint in a game studio is convinced he should never have to (re)write a UI in C++ ever again, now that "the web" has created such a lingua franca in the form of HTML, CSS and JavaScript. As evidence of this he often points to Awesomium and has spoken highly of it.
Never mind security. Trying to wrap your head around the code behind why opening a dialog via item X and performing client action Y on the keyboard would bypass what should have been a server-side security check for a very important game mechanic was a lesson in all sorts of SE principles. Unnecessary coupling and spooky action at a distance, for starters. Repeat this a hundred times and mix in a handful of SQL injection points, plus some fundamental disagreements in how and when the game's content assumed characters would appear on a new map, versus how and when the official servers actually worked.
I am curious if and how eAthena eventually deviated from some of the idiosyncratic behavior of the official game servers.
From what I've heard in the years since I stopped playing, though, is that Gravity took the profits from their microtransaction e-store and managed to actually plow that money into improvements for the GM team's ability to meaningfully manage their servers and community. So my first paragraph likely applies only to a bygone era.
http://rathena.org/ https://github.com/rathena/rathena
its doing way better then eAthena :)
The amazing part to me is that Ragnarok is still going. We used to play it in high school along with Helbreath because they were free MMOs and we had no money. :)
They get their revenue from their shops, like how most private servers do it.
This web client automatically downloads the required assets though. When I used the demo it just worked automatically. I didn't need to manually download anything.
No it's not open source or legal, but Gravity appears to have given up on legally defending the game after eAthena got to a workable stage, as witnessed by innumerable pay-for-items private servers which all profit on original assets created by Gravity.
I was always impressed by the Ragnarok community.
Sadly, memory of those days was marred when a trusted friend that was running sysops hijacked my domain name account and stole the site from under me when I was overseas. But it was a good lesson in never trusting anyone and not to under any circumstance reuse passwords. (Granted, I swear Godaddy's password reset was an idempotent no-op back then... My account changes never seemed to persist.)
Isn't that the only kind?
It was still really fun though to play as a GM on your own little personal server and melee guards.
Oh, I'd give the world to play that game again, pre-Trammel, with the active user counts that existed back in the day. The only choice today is the ruined mainline (WoW clone) servers, or ghost-town private (T2A) servers :(
Nice work, time to spam LoV!
I'm at work, and it's working superbly, with no noticeable lag or stuttering. I... I should stop.
Great work!
In the back of my mind, I always wondered if a project like this could be done (given that RO is MUCH less resource intensive than the quake engine, and other html5 demos I've seen, etc)...
I am so happy to see this project exist, I love this.
Thanks for the post, definitely going to check it out!