[HN Gopher] Web Server for AoE 1, 2 and 3 DE supporting LAN mult...
       ___________________________________________________________________
        
       Web Server for AoE 1, 2 and 3 DE supporting LAN multiplayer 100%
       offline
        
       Author : apitman
       Score  : 425 points
       Date   : 2025-04-02 23:10 UTC (23 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | recycledmatt wrote:
       | Awesome to see AoE, and games in general being future proofed.
       | Sad when functionality is lost because someone turned off a
       | server.
        
         | princevegeta89 wrote:
         | 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.
        
           | _the_inflator wrote:
           | 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
        
           | moduspol wrote:
           | 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.
        
             | reactormonk wrote:
             | Vikings are a very good archer civ, full tree and the free
             | handcart is a top-tier eco-boost.
        
               | moduspol wrote:
               | I just distinctly remember getting slaughtered by
               | Paladins, and having very few good options to counter.
        
               | princevegeta89 wrote:
               | Note that the Viking Pikemen have a lot of extra HP
               | though.
        
               | pertymcpert wrote:
               | 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.
        
               | lippihom wrote:
               | Good candidate for the next civ split after this next
               | release. Curious to see what happens.
        
             | princevegeta89 wrote:
             | 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.
        
         | 4gotunameagain wrote:
         | 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.
        
         | slightlygrilled wrote:
         | 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.
        
           | apitman wrote:
           | 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.
        
       | abigail95 wrote:
       | 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?
        
         | anamexis wrote:
         | Seems more like a CYA thing to prevent takedowns
        
           | HeatrayEnjoyer wrote:
           | It's CYA if it's meaningless.
        
           | shash7 wrote:
           | What's CYA?
        
             | pacificmint wrote:
             | 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
        
       | Rendello wrote:
       | 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/
        
         | bryancrisso wrote:
         | i love 0ad so much but it runs AWFULLY as soon as you get a fun
         | number of units on the map.
        
           | Rendello wrote:
           | 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.
        
             | yohannesk wrote:
             | 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?
        
               | HideousKojima wrote:
               | 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
        
               | littlestymaar wrote:
               | The good thing being that you get replay for free.
        
               | Panzer04 wrote:
               | 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.
        
               | gsich wrote:
               | You get that with any type of networking.
        
               | NortySpock wrote:
               | 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.
        
               | matsemann wrote:
               | 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.archiv
               | e.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._
        
               | IshKebab wrote:
               | Which was great until there's a bug and it just says
               | "sync error" and your 3 hour game is gone.
        
               | immibis wrote:
               | 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!"
        
               | doublerabbit wrote:
               | 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".
        
               | arlort wrote:
               | 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
        
               | vasco wrote:
               | 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
        
           | nophunphil wrote:
           | 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.
        
           | Dunedan wrote:
           | 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!
        
         | RUnconcerned wrote:
         | Wow, this is still being developed? I still recall the
         | Heavengames forum thread that spawned it...
        
           | Rendello wrote:
           | It just had a big release in January even!
        
         | gsich wrote:
         | 8 player multiplayer is unplayable.
        
           | Rendello wrote:
           | The lagging frames just give extra time to strategize ;)
        
       | 486sx33 wrote:
       | So how can I play AoE 3 the war chiefs online ?
        
         | CSMastermind wrote:
         | 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.
        
           | bigstrat2003 wrote:
           | 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.
        
       | hoten wrote:
       | Bit confused on the webserver aspect of this. Is it just the
       | match making / game broadcast component of AoE multiplayer?
        
         | pininja wrote:
         | I was curious about this too and enjoyed reading the routes
         | file
         | https://github.com/luskaner/ageLANServer/blob/main/server/in...
        
         | apitman wrote:
         | 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.
        
       | LPisGood wrote:
       | 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.
        
       | the__alchemist wrote:
       | 13
        
       | brink wrote:
       | I hope AoE2 lives as long as Chess does. It really is one of the
       | "perfect" games.
        
         | hackernewds wrote:
         | It really is and they keep iterating on it. definitive edition
         | has more investment than some of the new AOE3 and 4 versions
        
         | guappa wrote:
         | 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.
        
         | sqrt_1 wrote:
         | AoE2 is coming out on PS5 this year.
        
         | dominicrose wrote:
         | 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.
        
         | apitman wrote:
         | 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.
        
       | cheeseomlit wrote:
       | 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
        
         | lightingthedark wrote:
         | 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.
        
         | arbitrandomuser wrote:
         | 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 )
        
         | Raudius wrote:
         | 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.
        
         | red_admiral wrote:
         | 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.
        
       | CursedSilicon wrote:
       | 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
        
         | lightingthedark wrote:
         | 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.
        
           | red_admiral wrote:
           | 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.
        
         | matsemann wrote:
         | 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?
        
         | apitman wrote:
         | 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.
        
       | o1o1o1 wrote:
       | 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.
        
         | Rohansi wrote:
         | 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.
        
           | herewulf wrote:
           | 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.
        
             | lionkor wrote:
             | You could buy it and then download a cracked one
        
               | o1o1o1 wrote:
               | 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.
        
             | Rohansi wrote:
             | 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.
        
           | o1o1o1 wrote:
           | 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.
        
             | pertymcpert wrote:
             | Probably also because it's a multiplayer game and you want
             | to try to stop cheaters.
        
               | Rohansi wrote:
               | Steam's DRM doesn't do anything to stop cheaters.
        
       | vkaku wrote:
       | Excellent.
       | 
       | This seems to work with the Remasters as well. Even better :)
       | 
       | Please add AoM support as well.
        
       | whatever1 wrote:
       | Voulomai
        
       | pjmlp wrote:
       | I guess a few brownie points for making the case for compiled
       | managed languages in games, nice work.
        
       | nurettin wrote:
       | Experimental                   * AIX
       | 
       | I wonder how they got an AIX.
        
         | mrweasel wrote:
         | 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.
        
           | nurettin wrote:
           | 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.
        
       | Seanambers wrote:
       | 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.
        
         | matsemann wrote:
         | And since everyone was "turtling" the games would almost never
         | end anyways.
        
           | rightbyte wrote:
           | That is how kids play Monopoly too. It is part of the fun :)
        
             | matsemann wrote:
             | 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.
        
       | red_admiral wrote:
       | 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.
        
       | typh00n wrote:
       | 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. :-)
        
         | apitman wrote:
         | 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.
        
           | typh00n wrote:
           | 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.
        
       | ziofill wrote:
       | I'm not sure I understand: does one still need a copy of the game
       | to play or is it self-contained?
        
       | apitman wrote:
       | 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?
        
       ___________________________________________________________________
       (page generated 2025-04-03 23:01 UTC)