Web Server for AoE 1, 2 and 3 DE supporting LAN multiplayer 100% offline
439 points
1 day ago
| 20 comments
| github.com
| HN
Rendello
1 day ago
[-]
Classic AoE-playing Hacker News-types might also enjoy 0 A.D.

It's free and fun, but definitely humbling if you consider yourself a master strategist:

https://play0ad.com/

reply
bryancrisso
1 day ago
[-]
i love 0ad so much but it runs AWFULLY as soon as you get a fun number of units on the map.
reply
Dunedan
1 day ago
[-]
Alpha 27 of 0 A.D. has a notable performance regression for a subset of users, compared to earlier versions. Users not affected by this regression should see improved performance, thanks to improvements like the added Vulkan support.

The regression in performance seems to be caused by a change in Spidermonkey. For details check out https://gitea.wildfiregames.com/0ad/0ad/issues/7714

That said, even without this performance regression, 0 A.D. is prone to run slow in late game when lots of units are on the map. There are several reasons for that, but maybe the most intuitive one is that 0 A.D. is still largely single-threaded and therefore doesn't make use of the multi-core capabilities of modern CPUs. As you can imagine changing that is no easy feat and takes a lot of effort. As the number of volunteers to 0 A.D. is limited, nobody has picked up that topic yet.

If you enjoy 0 A.D. and want to improve it: it's Open Source and contributions are always welcome!

reply
Rendello
1 day ago
[-]
I haven't had an issue with that personally (played on and off for almost 10 years), though I imagine it could be an issue on some older hardware. Massed units will cause lag in big team games where there's 4 armies clashing, though that might be more of a network thing.
reply
yohannesk
1 day ago
[-]
I am curious as a non game developer, are these types of games deterministic? If so if I send to the server that I moved huge units to attack another huge units, can the server determine what the end will be? Why do we face a network issue?
reply
matsemann
1 day ago
[-]
This article is a classic, 1500 Archers on a 28.8: Network Programming in Age of Empires and Beyond

https://www.gamedeveloper.com/programming/1500-archers-on-a-...

Edit: original where the pictures work https://web.archive.org/web/20180719170411/https://www.gamas...

> Rather than passing the status of each unit in the game, the expectation was to run the exact same simulation on each machine, passing each an identical set of commands that were issued by the users at the same time. The PCs would basically synchronize their game watches in best war-movie tradition, allow players to issue commands, and then execute in exactly the same way at the same time and have identical games.

reply
IshKebab
1 day ago
[-]
Which was great until there's a bug and it just says "sync error" and your 3 hour game is gone.
reply
immibis
1 day ago
[-]
When this happens in Factorio, the game pauses, one player (the server?) saves the game and sends it to all other players who load the savefile and the game resumes when that's done. It's not a nice experience, but it's a lot better than "you can't play today, goodbye!"
reply
doublerabbit
1 day ago
[-]
Same with RA2/YR.

All it took was for some salty player to activate a trainer or prez IFS and kill the game.

I like that the lobbies were ran over IRCd.

Dreamforge IRCd with the server password being "supersecret".

reply
HideousKojima
1 day ago
[-]
Many (not all) RTS games use a networking method called lockstep synchronization that requires the gameplay to be deterministic, but has its own downsides. One of those being that if one player lags, everyone lags. I know AOE 1 and 2 use it, and I assume 3 as well
reply
NortySpock
1 day ago
[-]
For Beyond All Reason, it seems the Spring/Recoil engine will eventually decide to "close the action window", so that if one player is lagging hard, they simply submitted no actions for that "round" and the rest of the players keep going.

I know because I've gotten to the point in the late game where my computer can't simulate at realtime, and I can no longer control my units, but everyone else keeps playing.

Conveniently you can even still sort of chat in this state, and ask a teammate to assume control of your army on your behalf.

reply
littlestymaar
1 day ago
[-]
The good thing being that you get replay for free.
reply
Panzer04
1 day ago
[-]
It's got downsides. There's often no way to recover game state without actually running the simulation, and often no way to go backwards either. If you miss a moment in the replay you gotta watch the whole damn thing all over gain.
reply
gsich
1 day ago
[-]
You get that with any type of networking.
reply
arlort
1 day ago
[-]
They can be deterministic but I think you might be confused about the kind of game

In RTS games like 0AD or AoE you don't just send a single huge unit to attack and wait for the result, you send many tens of individual units near enemy units, then the "battle" goes on in real time and you can micromanage units to influence the outcome. You can't just simulate it on the server because the server can't simulate the thought process of the players

reply
vasco
1 day ago
[-]
AoE2 battles are all about the micromanagement. Last minute splitting the onslaught of trash units against your opponents treb micro shot can change everything.

Kind of old but lots of micro tactics per unit here: https://youtu.be/hjUgisPD_C4?si=F-UvzDOTsWRZhZSq

reply
nophunphil
1 day ago
[-]
Same here. I use a modern Windows 10 PC (Ryzen 5600x, RTX 3070Ti) when playing games. I wonder if the performance is better on Linux for some reason.
reply
RUnconcerned
1 day ago
[-]
Wow, this is still being developed? I still recall the Heavengames forum thread that spawned it...
reply
Rendello
1 day ago
[-]
It just had a big release in January even!
reply
gsich
1 day ago
[-]
8 player multiplayer is unplayable.
reply
Rendello
1 day ago
[-]
The lagging frames just give extra time to strategize ;)
reply
recycledmatt
1 day ago
[-]
Awesome to see AoE, and games in general being future proofed. Sad when functionality is lost because someone turned off a server.
reply
princevegeta89
1 day ago
[-]
As someone who spent an immeasurable amount of time on AOE 2 online multiplayer, it has been a steadily refreshing experiencing the rise of AOE2 DE over the recent years. The game not only received updates that brought in the total civilization count to 50+, but also a ton of visual enhancements and improvements in the overall gameplay and performance.

This is nothing short of stunning to see new developments happening for these games, especially in the open-source community.

reply
moduspol
1 day ago
[-]
It probably won't matter. When I play a "random civ" game with my friends, I always get Vikings. On maps with no oceans.

For real, though, it's really great to see this game continue to live on.

reply
reactormonk
1 day ago
[-]
Vikings are a very good archer civ, full tree and the free handcart is a top-tier eco-boost.
reply
moduspol
1 day ago
[-]
I just distinctly remember getting slaughtered by Paladins, and having very few good options to counter.
reply
princevegeta89
1 day ago
[-]
Note that the Viking Pikemen have a lot of extra HP though.
reply
pertymcpert
1 day ago
[-]
With non-unique units paladins can only be countered by upgraded halberdier, heavy camels or a huge mass of arbalesters. Monks counter them in small numbers but in late game when they're massed they're almost unstoppable unless you have halb/camel in equal numbers.
reply
princevegeta89
17 hours ago
[-]
Well even arbalesters get slaughtered by Paladins, unless we are able to push them behind a wall or a corner with only a very tiny attack area for the Paladins.
reply
lippihom
1 day ago
[-]
Good candidate for the next civ split after this next release. Curious to see what happens.
reply
princevegeta89
1 day ago
[-]
The Vikings are an incredible civilization. Berserks are one of my most favorite units. Not sure where they are today, but they totally matched Paladins in terms of attack strength back in the day.
reply
_the_inflator
1 day ago
[-]
Imagine AoE being owned by Nintendo. :D

A no small wonder. I never thought that MS, as the IP owner, would allow such an open community to grow and thrive. MS is notoriously bad at game community growth development.

I remember that right after the acquisition of ES through MS in 2001, Microsoft went on a rigid IP enforcement role and, for example, targeted people at MFO.

The story of DBD_Jinx losing his account to MS

Legendary DBD_Jinx lost his account and had to start anew under _IamJinx because MS suspended his ZONE account due to copyright infringement for using MS trademarks without a license.

What did he do?

He advertised at MFO to help people increase their early game through his academy training, which offered advice on micro-management, game planning, strategy, and scouting.

Together with a couple of other 2000+ Zone Rating dudes from the US, they started to make a few bucks on the side using AoE as a vehicle.

What a knee-jerk reaction from MS back then.

And today? Red Bull Wololo - I hardly can hold my pants compared to 2001.

I hope this keeps going, even though I am a purist "old-schooler" who prefers the AoE 2 classics game.

Cheers + gl + hf!

_CN

reply
slightlygrilled
1 day ago
[-]
This happened with supreme commander.

The company shut down and turned the servers off, but luckily someone created an implementation of the match making server.

And even to this day the community is fully alive and growing, they even continue to develop the game, and have taken it far beyond the original.

It’s called Forged Alliance Forever.

reply
apitman
1 day ago
[-]
That's awesome. What sort of changes have they made? I feel like that's got to be a tricky line to walk for a classic game.
reply
TsiCClawOfLight
12 hours ago
[-]
Mostly balance and quality of life, the UI especially improved a lot. Better AI opponents as well, and a few new units that fit well within the rest (and improve balance between races)
reply
4gotunameagain
1 day ago
[-]
Imo this should be legislated. Do you provide a service necessary to use your product ? Great. But if you decide to deprecate said service, rendering said product inoperable or partially operable, you should be obligated to release an implementation & documentation.
reply
red_admiral
1 day ago
[-]
AoE2 was released 1999 based on a 1997 game engine, and a new major DLC is about to drop this spring in 2025 (for the definitive edition). Sandy Petersen should be proud.
reply
Seanambers
1 day ago
[-]
Remember we used to have Aoe2 sessions on LANS when we were kids back in the 00s and like 1 in 3 games just crashed after everyone had played for like 2-3 hours.

In a way it was even better because then nobody had to loose, and everyone believed they were winning.

reply
matsemann
1 day ago
[-]
And since everyone was "turtling" the games would almost never end anyways.
reply
rightbyte
1 day ago
[-]
That is how kids play Monopoly too. It is part of the fun :)
reply
matsemann
1 day ago
[-]
Yeah, I know of turtling because we used to do it ourselves! Have a pact that you can't attack in the start, then build an impenetrable city until there are basically no more resources left and then fight it off with having 10 castles and barracks and stables mass-producing units right to the front.
reply
o1o1o1
1 day ago
[-]
Thank you for sharing this, it is truly amazing.

While I like Steam for the convenience and also appreciate their efforts in developing SteamOS I am concerned about the lock-in. Projects like this really help to own more of what you paid for again, luskaner is a hero for me.

reply
Rohansi
1 day ago
[-]
I feel like it is important to point out that Steam does not require games to have any DRM. Not even Steam's DRM. It's entirely up to the game developer and/or publisher. Many games on Steam are already DRM-free where you can just back up the files and play without Steam.
reply
herewulf
1 day ago
[-]
Does this apply to AoE? I never played it much in its hey-day but it would be interesting to get into properly. I have no interest in buying an old game with DRM given the obvious potential for maintenance issues though.
reply
Rohansi
1 day ago
[-]
I haven't checked AoE myself. If you're concerned about DRM, games using Steam DRM are usually the easiest to crack on your own by just by replacing the Steam DLL that ships with the game with one that emulates its functionality.
reply
lionkor
1 day ago
[-]
You could buy it and then download a cracked one
reply
o1o1o1
1 day ago
[-]
I basically did that, bought AoE several times, back then on CD and again on Steam. First I used virtual drives with ISO images and later a cracked version.

Today I am only using the Steam version though because I can easily join multiplayer games with friends all over the world. Also, I really like all the additional features in the remakes of AoE that you can get on Steam.

reply
o1o1o1
1 day ago
[-]
Thank you for pointing that out. I am afraid that AoE is probably not one of them though?

Maybe the old AoE versions will be open-sourced one day, that would be awesome.

reply
pertymcpert
1 day ago
[-]
Probably also because it's a multiplayer game and you want to try to stop cheaters.
reply
Rohansi
20 hours ago
[-]
Steam's DRM doesn't do anything to stop cheaters.
reply
abigail95
1 day ago
[-]
How do you put a Terms of Use with an AGPL license? Isn't this a "further restriction" which the license says you can remove?
reply
anamexis
1 day ago
[-]
Seems more like a CYA thing to prevent takedowns
reply
shash7
1 day ago
[-]
What's CYA?
reply
pacificmint
1 day ago
[-]
It stands for "Cover Your Ass".

Wikipedia explains it as "an activity done by individuals to protect themselves from possible subsequent criticism, legal penalties, or other repercussions, usually in a work-related or bureaucratic context."[1]

[1] https://en.wikipedia.org/wiki/Cover_your_ass

reply
HeatrayEnjoyer
1 day ago
[-]
It's CYA if it's meaningless.
reply
LPisGood
1 day ago
[-]
This is excellent.

I wonder if there any public documentation for AoE3’s API that was used to make this or if this was all newly reverse engineered. I’ve seen people ask about this kind of documentation before, but I’ve never seen it.

reply
cheeseomlit
1 day ago
[-]
I'm sure the answer could be found in this repo somewhere but its above my head- does aoe2 DE rely mostly on p2p for multiplayer? I assume it does and the regional servers are just used for matchmaking, and all the actual game logic is running on the clients. I base that on the fact that map hacks are possible and that one player lagging lags the game for everyone, but there are often conflicting claims when it's brought up on aoe forums
reply
lightingthedark
1 day ago
[-]
If you haven't read it, there's a great paper on the netcode of the originals: https://zoo.cs.yale.edu/classes/cs538/readings/papers/terran...

I'd be surprised if the definitive editions changed the design significantly enough to move the netcode away from P2P, but I don't know of any actual information on it.

reply
red_admiral
1 day ago
[-]
AFAIK, it's server-based rather than p2p for DE, but the way it works is all clients/servers simulate the world in lockstep and hold a full copy of the state. That's what makes map hacks possible.

You don't need anything paxos-like for this, the game desyncs and stops if any machine messes up but you can usually restore from a save point in that case.

reply
Raudius
1 day ago
[-]
In professional tournament games a server is chosen that lies between the two players. For example, a Brazil-China match might be played in an EU server.

Given this, I suspect the server is used as a central source of truth between the clients where all game data goes through the server, with all the calculations still being done client-side.

reply
arbitrandomuser
1 day ago
[-]
That was the old one , the DE version lags only for the player with poor network ( cpu performance stutter of one player affect all players though )
reply
brink
1 day ago
[-]
I hope AoE2 lives as long as Chess does. It really is one of the "perfect" games.
reply
guappa
1 day ago
[-]
In chess if you don't play 2 years and then come back to it, you don't find out that all the rules have changed in the meanwhile. Which is what currently happens with age of empires 2.
reply
apitman
1 day ago
[-]
I thought about almost this exact thing recently. I hope we're able to keep the best games running forever.

For games that are fun I think you can leave in balance issues and even features-not-bugs. It's trickier for things like netcode bugs that are purely a negative.

Really grateful Id release their source eventually. Really hoping the same will happen for AoE2 someday.

reply
hackernewds
1 day ago
[-]
It really is and they keep iterating on it. definitive edition has more investment than some of the new AOE3 and 4 versions
reply
dominicrose
1 day ago
[-]
It's a brilliant game for sure. The randomness, the fact that it's not turned-based and the multiplayer also make it interesting compared to chess. However Chess has 1000x simpler rules that never change, and you don't need high APM to play competitively.
reply
sqrt_1
1 day ago
[-]
AoE2 is coming out on PS5 this year.
reply
hoten
1 day ago
[-]
Bit confused on the webserver aspect of this. Is it just the match making / game broadcast component of AoE multiplayer?
reply
pininja
1 day ago
[-]
I was curious about this too and enjoyed reading the routes file https://github.com/luskaner/ageLANServer/blob/main/server/in...
reply
apitman
1 day ago
[-]
While the game itself runs over LAN, my understanding is LAN play requires internet for 2 reasons:

1. the game connecting to multiplayer services

2. coordination server for the LAN setup itself.

I think this covers #2. #1 appears to be more complicated unfortunately, and involves tricking Steam into thinking you're connected.

reply
typh00n
1 day ago
[-]
We tried this at a LAN-Party in December and couldn't get it to run. I am happily trying it again for the next LAN-Party. Nice to see development on this project. :-)
reply
apitman
1 day ago
[-]
Curious what your use case is as opposed to using the official LAN support? For me, I'm trying to get it working completely without internet, ie on a plane. It's so sad to me that built-in LAN requires an internet connection.
reply
typh00n
21 hours ago
[-]
not all participants had an official copy of the game.

while i think that it is well worth it, i am not the person who pressures other people to buy things for a single-digit-attendence one-time get-to-gether LAN-party.

reply
CursedSilicon
1 day ago
[-]
Does anything like this exist for the original Age of Empires games?

Battle.Net has "PVPGN" that covers Diablo 2 up through Warcraft 3, and the Westwood Online games (ish) but searching for an AoE equivalent turned up nothing

reply
apitman
1 day ago
[-]
Check out Voobly. That seems to be a pretty big hub for people playing the original games, I think mostly patched versions of the originals with some nice features.
reply
matsemann
1 day ago
[-]
I've LANed them "online" many moons ago by using software that made a virtual lan that we all installed and managed to find each other ingame. "Hamachi" I think?
reply
lightingthedark
1 day ago
[-]
I believe the originals just supported offline LAN play. I remember getting my friend to have his modem dial my modem so we could play together, no Internet connection required.
reply
red_admiral
1 day ago
[-]
From memory, there was a patch that added a new-fangled option "internet" as well as LAN play. I remember the days of fiddling with port forwarding and then calling a friend over the telephone to read out my IP address for them to type in.
reply
apitman
21 hours ago
[-]
What is the best option for playing LAN games over the internet these days?

Hamachi appears to still be a thing, but I would prefer something open source.

Tailscale sadly doesn't support multicast, which I'm assuming most games use for LAN discovery.

ZeroTier maybe?

reply
ziofill
1 day ago
[-]
I'm not sure I understand: does one still need a copy of the game to play or is it self-contained?
reply
pjmlp
1 day ago
[-]
I guess a few brownie points for making the case for compiled managed languages in games, nice work.
reply
vkaku
1 day ago
[-]
Excellent.

This seems to work with the Remasters as well. Even better :)

Please add AoM support as well.

reply
486sx33
1 day ago
[-]
So how can I play AoE 3 the war chiefs online ?
reply
CSMastermind
1 day ago
[-]
If you're okay buying it then the definitive edition is on sale with active servers and includes War Chiefs among other things.

There were some questionable changes to the names of things to make them more politically correct but the game play is better than ever.

reply
bigstrat2003
1 day ago
[-]
The censorship really annoys me. I would've happily paid for the definitive edition (even though I already own the game), but I'm not willing to support a rerelease which changes stuff about the original game like that. If the devs want to make sure their new content is politically correct then fine, but changing the original content isn't cool.
reply
nurettin
1 day ago
[-]
Experimental

    * AIX
I wonder how they got an AIX.
reply
mrweasel
1 day ago
[-]
Emulator maybe? It's a weird and intersting platform to target, but I suspect that it's because Go supports it, so it might not be to much hassle. On the other hand reading the article from yesterday regarding porting Tailscale, it might be more involved that I imagine.
reply
nurettin
1 day ago
[-]
Yeah go supports AIX. In fact I remember it having bash, and a package manager so it felt like home. AS400 was an interesting platform. I was fascinated with their almost assembly like programs, alien UIs and decades old hardware. Almost got nerd sniped. Unfortunately, I was told to use java. The jar I tested on linux worked perfectly the first time, so I couldn't even learn anything.
reply
whatever1
1 day ago
[-]
Voulomai
reply
the__alchemist
1 day ago
[-]
13
reply