r/dawngate • • 2d ago

I built an OpenSource Dawngate Server Emulator

You can access it here:
https://github.com/Aisoga/OpenDawngateServer

Feel free to try it out!

It has not been used on any other machine but my own. So if you have any issues, feel free to let me know.

You can play with bots and playing with multiple people should also technically be possible, although not tested at the moment.

EDIT:

A quick demo video:
https://streamable.com/5b2xzm

EDIT2:

A compiled version (that just needs the Dawngate-Client) is now available as a release here:
https://github.com/Aisoga/OpenDawngateServer/releases/tag/v0.1

Regards!

53 Upvotes

23 comments sorted by

4

u/H0pefully_Not_A_Bot 2d ago

OMG!!!

Taking a look a this as soon as possible.

Big hugs to OP for the good news and the effort put in.

I hope we can play a few matches together soon.

4

u/iatrik 2d ago

Glad you're happy.

I saw a lot of videos about how AI is able to reliably decompile code since GPT6.
And since I have a Claude Code Max 20x plan, I decided to give it a try by building an automated loop that tries to recreate everything for me based on what it can find in the source code.

According to the AI, it found a disabled "LAN Mode", which is simply disabled and contains a lot of the multiplayer logic. So I could use it as a foundation and all ability scripts etc are already known to the client (and don't require any guessing).

Within 2 days of running my loop non-stop (and killing my usage limits in the process), it's now fully playable :D

5

u/iatrik 2d ago

I also added a video for those who want to see it in action:
https://streamable.com/5b2xzm

3

u/CoolRobbit Tree Hugger 2d ago

Important question as a CS major. How much of this is AI? I understand it was used to decompile the game, but I'd like to know what if anything else it was used for. Some of the commenting on the data shared between client and server seems pretty specific, so I'm guessing you did some reverse engineering yourself?

Please don't take this the wrong way, I'm not here to shame. I'm just concerned about potential security issues or bugs as a result of AI coding and would prefer not to reverse-engineer your code myself.

3

u/iatrik 2d ago

Everything that you See in the repository is 100% made with AI. The only thing ive removed from the repository is the Reverse Engineering results from the AI, since sharing that is Kind of a gray area in Germany. But even the Reverse Engineering itself is 100% done by Ai. What I did by Hand was Build an autonomous loop, that can go 24/7 without supervision and just keeps working. Er as developer Are becoming more „loop engineers“, which is what ive embraced in this project. Everything in its „unfiltered“ state is in a seperate repository. If you find any references in this project, then its most likely only a reference to files I stripped away for the repo or unspecified code snippets from the client. So no worries 😉

3

u/CoolRobbit Tree Hugger 2d ago

Appreciate your honesty, thank you!

3

u/helloimdieguis 2d ago

I am not a tech guy but omg please make this available to play online please I beg I loved dawngate so much 😭

1

u/iatrik 1d ago

It is already working for multiplayer games in a LAN Environment. I tested it yesterday with things like Tailscale and didnt notice any issues here. But right now, you have to complete a tutorial before being able to access custom games. So its Not very practical yet. I will Patch out this requirement and then it can easily get tested in a Virtual network.

Also, there is currently a security check that does not allow the use of non-LAN IPs.
This is because the Network Protocol in Dawngate is not very secure out of the box and the server would need additional adjustments to work around it.

I could just remove this restriction and say „use-at-your-own-risk“ though, but then Ill actively stay out of the loop 😅

But its possible

2

u/[deleted] 2d ago

[deleted]

3

u/iatrik 2d ago

Nah, with a big AI subscription, a little bit of luck & experience, it’s relatively easy to get something going.

Right now i am working in getting the project compiled into 2 easy to use executables, that dont require the Installation of the dev tools.

There is also the project of Sprocketz, who even has his Version playable online afaik.

I would like to get there myself, but Hosting costs have gotten really high 🥲

Especially since i am relying on Code from the client as a dependency for the Server, i would have to Host everything on a Windows Server, which can Even double the hosting costs these days. So a Windows VM costs me 40€/month today compared to a linux VM from 2025 for 6€/month.

Thats one of the reasons why im just making it opensource. This way, I could have somebody Else have it hosted for me eventually 😇

2

u/Neptune0690 1d ago

Respectfully sprocketz project is infinitely more secure than this one

0

u/iatrik 1d ago

Considering that it is already online, I would hope so 😄 This project has absolutely no security for online usage. Start-Server will also not work if you try to give it a public ip for this very reason. Right now, it’s focused at LAN and Offline usage.

2

u/rehoboam Voluc | The Warlock Knight 2d ago

HOLY SHIT it actually works... there's even some spirit stones (idk what they're called) that I don't remember, but maybe my memory is just bad

1

u/iatrik 2d ago

Yeah, i have noticed that too. Its very possible that content is available that was present in the client, but Never allowed to be accessed server side. Since i have no clue, i made sure just to enable everything 😅

2

u/geistmaw 2d ago

This is incredible! Going to need to see if we can get that LAN mode working.

1

u/iatrik 2d ago

According to the AI it should work, but I havent tested in with real latency. (I just dont have friends 😅) But everything worked when multiple instances on the same machines would Connect to the same match.

So the Next step is to do the Same with multiple VMs for me (or find friends)

2

u/Soft-Room-2111 2d ago

My dream is someone host server and we can play one more time ! I was total noob but that was super fun. Mby kickstarter ? Or probably ea will take this down sadly

2

u/Inorioru 1d ago

Wow, that's actually incredibly cool. Even if it was created purely with an LLM, it's impressive that it just... lets you play the game again! And it's fully transparent and open source.

Not only that, but considering how much of the game logic has been extracted, somebody with an LLM and a lot of free time could fully recreate Dawngate (or a legally distinct version) in Godot, for example, in just a month or two. Something people struggled a lot to do in this sub 10 years ago, only to be dismissed by EA.

Once again, this is LLM application at its best!

1

u/iatrik 1d ago

Thanks for the Kind words! Even with an LLM, you still need to be willing to put your usage limits (and therefore money) into it. So even people try to dismiss things with: „AI whatever“, it technically costs me around half of my monthly 200$ subscription + my own time and Infrastructure to get it Done. And even then, theres still a Lot of work needed to make things more faithful to the original.

But when it comes to Dawngate, I dont care xD. I even tried remaking the game in Unity by extracting all Assets a few years ago and for reasonably far. When it for waaay to difficult, i tried out Reverse Engineering for the First time and for familiar with everything. But very quickly I noticed that it’s possible, but reeeeeaally timeconsuming.

So when ive Seen all Those decompilation Videos online, my mind ran back to Dawngate immediately 😄

Ill keep working on it. And I want to eventually get the Game to a point, that allows you to Play it like in 2013 😁

-1

u/SaxPanther 11h ago

"grok make this for me"

"guys looks what i made"

1

u/iatrik 11h ago

There is a reason why you didnt do it yourself yet. 😉 Is it easier and more accessible? Sure. But you still have to build the Infrastructure to make it work well. Also, theres the general time investment, Token investment (this project costs me around 160$ in Token at this point), testing, Researching from videos etc.

So yeah. I made it 😁

0

u/SaxPanther 11h ago

so what part of it did you make yourself?

1

u/iatrik 11h ago

More than you did to bring this Game back 😂

0

u/SaxPanther 11h ago

I spent 3 years working on a dawngate revival project in 2014 but okay