Guild Wars Legacy is turning 4 years old already and it has been quite a ride! Guild Wars Legacy has proven that Guild Wars is far from dead and that gaming forums still have its value in this age of social media.
But how do we run Guild Wars Legacy? What does it take to run this website and what parts and bits are used?
In this post, I am going to give you an exclusive look into how Guild Wars Legacy is run now, how it ran in the past, and how it will run in the future.
When Guild Wars Legacy started, it was ran as a side project on a simple $5 droplet from DigitalOcean. I already had this droplet and used it for all of my projects and Guild Wars Legacy nicely fit in.
We started up the forums, at the beginning running on MyBB but we switched over a few years ago to Woltlab Suite, as it is both a lot more modern and suited for use on mobiles.
Eventually, Guild Wars Legacy grew bigger and we moved to several other hosts - DigitalOccean, Scaleway until we landed at Vultr, where we were hosted for many years.
The $5 cost grew larger and larger, as we were using different servers to handle several tasks and as we added more content/tasks to Guild Wars Legacy.
One of the biggest additions in costs was the hosting of the Guild Wars Guru archives, which we still host until this day, but thankfully the costs of hosting it have lowered over the years thanks to the general decrease of disk space and optimizations.
Optimalizations to the Guild Wars Guru archives
The Guild Wars Guru archive is a huge collection of static HTML files. These contain a lot of the same information - every file contains the same header/footer and advertising code that was used on Guild Wars Guru and this is almost identical on EVERY page.
It's also entirely static, so search no longer works. User pages no longer work, the Curse footer is redundant, the login bits are unnecessary - in general, we can delete about 1000 lines of code from every page that was stored.
A process to do this has been started and chunks of the archive have been stripped of this content.
A further optimization is to strip the header and footer of every page and include a central file. This also allows us to easily update some bits of the archive if need be.
This is still by far the most expensive part of Legacy to host, but storage has luckily gone down in price considerably.
Currently, Guild Wars Legacy is being run on 3 servers in total. All of our servers have Guild Wars related names, mostly either outposts or NPC's.
This is the current set of servers
- The webserver which you are currently on, called Alesia. Alesia is the current iteration, we also had webservers like Barradin or Ashford before.
Alesia hosts both the database and the webserver. On a technical standpoint, we're using Nginx and PHP 7.3 to run everything, running on Ubuntu 18.04 LTS.
- Deldrimor is our utility server which runs both our internal chat-tool (Mattermost), our mailserver (Postal) and our backup-solution (BackupPC). We have hourly database backups and can re-roll up to 6 months in the past.
- Barradin is our final server and this is mainly used to host the Guild Wars Guru archive.
I can not stress enough that you need a proper backup solution when you run a website, specially when you use a service like DigitalOcean or Vultr. We have had issues with one of our previous providers where they lost our server and we lost all of our content - snapshots are not a proper backup, since these depend on data still being there. So make sure you have a proper backup solution in place!
Currently, Alesia is hosted by Combell on their OpenStack platform. This has many advantages for us compared to a DigitalOcean or Vultr, since those platforms do not provide high-availability on their own.
If you want to provide high-availability, which means that you set up everything in a redundant way, so that when your server has an issue, another one takes it over.
On platforms like DigitalOcean/Vultr that means that you have to set-up a second server yourself and make sure that you keep both servers in sync and use a floating IP to transfer over should something go wrong.
Guild Wars Legacy was, in the beginning, not set up redundantly and we had downtime because of this. Setting it up in a redundant way at our previous provider would be too expensive, doubling the cost and would introduce a ton of configuration work and possible sync issues.
So we went with Combell, which offers high availability on the hypervisor level. That means that when the hypervisor that our server runs on has issues, or needs to be replaced, we will simply be moved to another hypervisor without us noticing anything. This makes the current hosting of Guild Wars Legacy somewhat more expensive (if you pay peanuts, you get monkeys), but thankfully Combell has been willing to offer us this server (it might have something to do with me working for them...).
For the other servers, redundancy isn't really needed as those services can go down for a few hours without issues. Backups will continue once the server gets back up, mails will still be sent once the mailserver is back online and our internal chats will likely move to Facebook Messenger for the time being ;).
However, what does the future bring?
I have the tendency to replace the webserver every 2 years to run the latest version of Ubuntu. This allows us to keep everything running smoothly and allows me to run the latest versions of PHP and various other tools. I also like to try and use new tools and software to see if these are better suited for Legacy.
Currently, I am working on the replacement of Alesia, which will be called Devona.
Devona will take over the webserver role from Alesia and will introduce some changes to our stack.
Going forward, we are going to try and switch to Caddy as our webserver instead of Nginx, with the focus of supporting the latest and most secure implementations of SSL/TLS.
This will, however, mean that we are going to turn off TLSv1.0 permanently once we move to Devona.
What does this mean? This means that really old computers, including those running Windows XP, will no longer be able to visit Guild Wars Legacy.
Why is this?
Simply put, TLSv1.0 is very insecure. TLSv1.3 is the current version and this will become the default version once Devona is used.
Longer support for TLSv1.0 is no longer possible as some of our service providers are about to fully kill it off (unless we get an extremely expensive package. Looking at you, CloudFlare).
If you truly wish to continue using Windows XP (don't), this might be a solution: https://support.microsoft.com/…-1-and-tls-1-2-in-windows
What else will be new with Devona?
Devona will run on Ubuntu 20.04 LTS and will introduce Caddy. That will allow me to focus more on other things, compared to how everything is currently set-up.
Caddy will remove all hassle with certificates and handles this wonderfully.
Once Devona has replaced Alesia, the other servers will be replaced as well. First, however, Devona needs to be live.
Some fun statistics
- The busiest day so far was when Gaile's account was hacked. The load on our servers was intense, but we held the load.
Due to us moving forum software since then, I can no longer fully see how huge the traffic was.
- Our server has a total bandwith usage of about 350 GB every month. Most cheap webhosts do not allow such heavy bandwith usage.
- The average daily access log of Guild Wars Legacy is about 40-75 MB.
- On average, Guild Wars Legacy has about 150 000 requests daily.
- We have about 2300-3600 unique daily visitors.
- These are the most used operating systems to visit Guild Wars Legacy:
- 65.23% of all visitors visit on their Windows PC.
- 14.64% of all visitors visit on their Android phone.
- 6.67% of all visitors visit on their iOS device.
- 3.63% of all visitors visit on their Linux or Unix-like device.
- 3.55% of all visitors visit on their Mac.
- The most popular browsers are:
- Chrome (42.56%)
- Firefox (31.22%)
- Safari (10.60%)
- Internet Explorer (1.39%)
- Opera (1.25%)
- Our visitors are located in:
- Europe (54.25%)
- North America (35.04%)
- Asia (5.92%)
- Oceania (4.29%)
- Africa (0.36%)
- South America (0.06%)
Do you have any further questions? Feel free to ask them here!
About the Author
Hello, I'm Iaerah (formerly known as Kevin - which is my real name), the Guild Wars Legacy admin.
The reason why I switched my name to Iaerah is mainly because Kevin is so generic, and if I ever want an NPC named after me in game, I'll need a more creative name
Joking aside, Iaerah is also my main in Guild Wars 2 (I know, I know, shoot me - but I enjoy both games. Just don't see GW2 as the sequel to GW1).
I'm not only the Guild Wars Legacy administrator but also the founder of it, together with some other great people like Richey (who runs the Guild Wars: A New Hope Facebook group) and Max Borken. I'm quite easy to contact and generally spoken I reply quite quickly, but I have a tendency to read my notifications and forgetting to respond. If that happens, feel free to send me a reminder.
You can contact me using the contact form on this site, you can send me a PM here or you can mail me on my Guild Wars Legacy email (hint: it's my real name @guildwarslegacy.com) and I'll get back to you as soon as I can (if I don't forget ;)).
In game, you can contact me on one of my two main accounts: my mains are either Leanna Goldwing or Inquisitor Karinda.
In general, don't be afraid to contact me!
Do you have an idea to improve Guild Wars Legacy, no matter how small it might be? Feel free to let me know!