HomeVideos

Releasing a Classic RPG Server Is Harder Than You Think

Now Playing

Releasing a Classic RPG Server Is Harder Than You Think

Transcript

128 segments

0:00

Hi, I'm Chris Wilson.

0:01

Since I started doing this whole  youtube thing, I've received a lot  

0:04

of emails asking about the feasibility of  developers releasing classic versions of  

0:08

their online RPGs. I promised a few people  I'd record a video with my perspective on  

0:12

this topic, based on my own experience  developing and running an online RPG.

0:17

People often think that releasing a classic  server is as simple as checking out an old  

0:20

version of the game from version control  and just putting it online. In reality,  

0:24

getting an old build running is the  easy part. Making it secure, compatible,  

0:28

supportable and legally compliant as a  modern live service is the hard part.

0:33

So what do I mean when I refer to a classic  release of an online game? Well imagine you've  

0:37

been running a game for many years, and over the  course of that time, the game has changed. You've  

0:41

released expansions, you've rebalanced everything  many times, you've updated the graphics engine,  

0:46

you've completely disabled or changed features  that were in the base game. And the current  

0:50

version of the game plays quite differently to  how the original did back in the day. Players are  

0:54

missing the original version. They petition you  to re-release the old one as a classic server, so  

0:59

they can get a nostalgia fix or even potentially  make this version the dominant way they play.

1:04

Now, this could be attractive for business  reasons. Not only does it make players happier,  

1:08

but it's potentially a nice value-add if you  currently charge them a monthly subscription.  

1:12

You've already incurred the costs of  developing that old version of the game,  

1:15

so maybe this strategy lets you essentially  have two games for the price of one? Both World  

1:20

of Warcraft and Runescape have gone through this  process and they've been quite successful with it.

1:24

Well getting to that outcome  is a whole lot of work,  

1:27

and today I'm going to break  down what could be involved.

1:30

The first question you'll need to answer is  which version of your game you want to release  

1:33

on the classic server. Sometimes it's obvious.  For example, for games that have a traditional  

1:37

release schedule, you might pick the first  fully-released version of the original game, after  

1:42

early stability and bugfix patches were deployed  but before significant balance changes were done. 

1:47

But for more live-servicey games that evolved over  time without necessarily having paid expansion  

1:52

releases, the decision of which version to use  might be more difficult. I suspect if you asked,  

1:56

say, Warframe players what they view to be  "classic" Warframe, they'd all have different  

2:01

answers, which may be swayed by the nostalgia  of when they personally started playing.

2:05

So once you've decided which version  you're releasing, how do you actually  

2:08

get that old version of the game? Well, you do it  through the magic of version control. Developers  

2:13

in the audience will notice that this explanation  I'm giving is an oversimplification to the point  

2:17

of absurdity, but basically a version control  system is a repository where developers check  

2:22

in their work. It not only maintains the current  version of every game file for people to work on,  

2:26

but also all past versions. It's a permanent  snapshot of every moment of a game's development  

2:31

history. And game developers have been using  this as a commonplace tool since the late 90s,  

2:36

so pretty much every currently-running online game  probably has its full version history available.

2:41

Here's a terrible visual representation of  this. The raw source files are maintained  

2:45

for every version of the game, all the way  back to start. You can scroll back through  

2:48

time to find the exact version  you want to get access to. Note  

2:51

that in reality there are probably multiple  repositories, branches, tags and sometimes  

2:56

complex external binary file stores, but  we're keeping things super simple here.

3:00

So in this hypothetical example, we go to our  version repository, select the 1.0 launch version  

3:05

of the game, and ask it to check out that version.  A few minutes, or hours, later, we have all the  

3:09

source materials of the game on our computer ready  to go. It's like we were back there on the day.

3:14

But before we can try it out, we need to get the  game to build. This means putting it through the  

3:18

process that turns it from a pile of source  code and art assets into a packaged game that  

3:22

we can install and run on a computer. This may be  harder than it sounds, for a number of reasons.

3:27

Firstly, it's possible that your build  scripts might not have been stored in the  

3:30

version control repository alongside  the game. If you made this mistake,  

3:33

then good luck recreating them. Secondly, the  operating system and environment you're using  

3:38

now in 2026 may be entirely different than what  was commonplace back in 2004 or whenever this  

3:43

version is from. What worked just fine on Windows  XP might not be exactly the same on Windows 11.  

3:48

You might need to find old versions of your  compiler, libraries, database, runtimes,  

3:53

art tools, potentially even the operating  system itself, all to get the game to build.

3:58

But you can start the slow process of getting  all of this to work with your modern toolchain.  

4:02

Eventually, with some work, you'll get it to  build and run, and then you'll have an exact  

4:06

version of your game from the past running  on your modern computer. Congratulations.

4:09

So once you're at this stage, you'll have  an old version of your game playable,  

4:13

complete with whatever server backend and  tooling existed back then. And as this was  

4:18

a version you had live and had released at  the time, it would theoretically work if you  

4:21

deployed it onto some servers on the internet  and gave the download link out to your players.

4:26

But this would be a big mistake.

4:28

This old version of the game you got running  is really far from being actually releasable.

4:33

For a start, while players love the idea of  playing an old prehistoric version of the game,  

4:37

they're probably viewing what that version  was like through pretty-heavy rose-tinted  

4:40

glasses. You've applied a decade of quality  of life improvements to the game since then,  

4:44

and those are all going to be absent. Now,  while I'm not suggesting that you go through  

4:48

and reimplement all of these features,  because that undermines the purpose of  

4:51

the classic version, you're going to have  to at least evaluate which changes the  

4:54

important ones are to players and the ones  they're going to refuse to live without.

4:58

Without a doubt, the old version will contain  bugs that you've actually fixed since then.  

5:03

All of these bugs will be back, and fixing them is  sometimes not as simple as just applying the same  

5:07

fix as before, because the exact order of changes  to the code will differ in the two timelines.  

5:12

Some of these bugs will be exploitable by players,  so you'd better hope you fix them all fully,  

5:16

because people are going to try  to profit from them on day one.

5:19

Speaking of profiting from exploits, all of  your anti-bot and hack detection tools will  

5:23

be reset back to the stone age, whatever  you had built for your initial release.  

5:26

These are unlikely to be able to deal with the  toolkit of modern automation that your players  

5:30

will throw at this version of the game. After  all, they've been working on improving this  

5:33

for like ten or fifteen years, so you'd need  to backport all of that stuff across as well.

5:38

But it's not just your contemporary anti-bot  tools that need to be made compatible,  

5:41

but every single piece of your customer  support and operational tooling. After all,  

5:45

your customer support staff are going to need to  immediately start fixing problems with accounts  

5:48

and purchases, and they will need the modern  tools that they are trained on and are able  

5:52

to use efficiently for this. Don't forget  that all of your game activity and retention  

5:56

reporting tools need to be updated as well. Your  stakeholders are going to want to know how well  

5:59

the classic version is doing in just as much  detail as you provide for your modern version.

6:04

Speaking of tooling integration, there's  also the issue that the old version just  

6:08

won't be compatible with your modern  notion of what a player account even  

6:10

is. In order to have it tied into the same  billing system, you'll need to integrate it  

6:14

with your current account system, and that  involves a decade of modernisation to any  

6:18

code that touches player accounts. And that  has to be done Carefully with a capital C.

6:23

But the nightmare doesn't end there. In  2018, the European Union introduced the GDPR,  

6:28

an extensive data protection framework  that requires significant legal compliance  

6:31

work on your end. Your pre-2018 game  almost certainly won't be compliant,  

6:36

and it must be. And that's just the start of the  regulation compliance quest you're going to be  

6:40

going on. Every single aspect of user generated  content, child safety, loot box disclosure, and  

6:45

whatever else people are regulating will need to  get modernised in the classic version of the game.

6:50

If you somehow duplicate all of  this work into the classic version,  

6:53

you then have to keep doing it every time the  modern version changes. You essentially have  

6:57

two versions you have to update side by side,  and this is very hard to sustain in practice.

7:02

As you can see, for this classic version, you  want the really old version of the game content,  

7:07

but you don't want the really  old version of the game code  

7:09

and infrastructure as you have to fully  update that to the modern one anyway.

7:13

Rather than going back in time and  grabbing the old snapshot of everything,  

7:16

you probably need to grab just the classic game  content and port it to a modern copy of the game  

7:21

engine and infrastructure. This means that all  of your hard work on bug fixes, bot detection,  

7:26

legal compliance, and operational tools  can be immediately leveraged. With one  

7:30

game backend running two different versions of  the game, it's more trivial for infrastructure  

7:34

improvements made to the modern game  to benefit the classic one immediately.

7:38

So this becomes a content porting exercise,  trying to get the old art, gameplay, balance,  

7:42

quests and so on to work with the  modern engine, as faithfully as  

7:45

possible. Depending on how you have architected  your game, this could be a whole lot of work.  

7:49

You may have to emulate old rendering  behaviour, or even old gameplay behaviour,  

7:53

to make it feel like it used to. But in order  to be able to practically run this classic game  

7:57

as a serious ongoing service rather than just  a toy, it's the best path for most studios.

8:02

Overall, I'd only recommend doing this  whole process and creating a classic  

8:06

server for your game if you feel there's  an extremely strong business case for it.  

8:10

One of the concerns is that a lot of the  players who enjoyed the early days of the  

8:13

game rather than the current version have long  left, and it's a really expensive and difficult  

8:17

marketing proposition to get them all back to  play the classic version. Strategically, it has  

8:22

worked out really well for Blizzard and Jagex with  their classic servers, but then World of Warcraft  

8:26

and Runescape are two incredibly popular,  enduring games with passionate communities.

8:31

If you enjoyed this video, please  like it and consider subscribing.  

8:34

Thanks very much, and see you next time!

Interactive Summary

Chris Wilson discusses the complexities of releasing classic versions of online RPGs. Contrary to popular belief, it's not merely retrieving old code; the challenge lies in making it secure, compatible, supportable, and legally compliant for a modern live service. The process involves selecting a specific version, retrieving it from version control, and overcoming significant technical hurdles to build it. A major mistake is simply deploying the old build, as it would lack modern quality-of-life features, be rife with old bugs and exploits, have outdated security, and be non-compliant with current legal regulations like GDPR. Instead, the recommended approach is to port the classic game content (art, gameplay, balance) to a modern engine and infrastructure. This allows leveraging existing bug fixes, anti-bot systems, compliance tools, and operational support, ensuring the classic version can be sustained as a serious ongoing service. Wilson advises studios to only pursue this if there's a very strong business case due to the high costs and difficulties involved, noting its success for games like World of Warcraft and Runescape.

Suggested questions

10 ready-made prompts