Impostor: a self-hosted private server for Among Us
Impostor - An open source reimplementation of the Among Us Server
At a glance
- What is it?
- Impostor reimplements the Among Us server in C# under the GPL-3.0, so a private group can run its own game backend. The README claims a full replacement for the official server, but the setup instructions live in the docs folder, not on the front page.
- Who is it for?
- Adopt Impostor if you run a private Among Us group and can host a .NET 8 service yourself; the README states plugin support and server-sided anticheat are part of the design. Avoid it if you need a managed service or a server for a game other than Among Us.
- Can I use it commercially?
- Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository received new commits within the last day.
- What is it written in?
- Mainly C#, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 30, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What Impostor replaces, and who ends up running it
Among Us normally routes every lobby through Innersloth's official servers. Impostor is a reimplementation of that server, written in C#, so the matchmaking and game traffic can terminate on hardware you control. The README describes it as "the first working Among Us private server" and says all Among Us features are implemented, making it a full replacement for the official server.
The audience is narrow and practical. Someone in the group has to own a machine that stays reachable, and everyone else has to point their client at it. The README splits these two jobs explicitly: players who join a server hosted by someone else only need to configure their client, while whoever runs the server follows the separate server instructions. If nobody in your group wants to operate a long-lived service, Impostor is the wrong shape of tool regardless of how well it works.
The C# server, the plugin API, and the anticheat that lives server-side
The repository is split into src/Impostor.Server, src/Impostor.Api, and src/Impostor.Api.Innersloth.Generator. That layout tells you the intended extension model: Impostor.Api is the surface plugin authors compile against, and the generator project produces Innersloth-related bindings for it. The README lists plugin support as a feature, so custom behaviour is meant to be added without forking the server itself.
The other advertised feature is server-sided anticheat. This is the meaningful architectural difference from a plain relay. Because the server is not just forwarding packets, it can hold game state and evaluate what clients report against it. The README does not enumerate which cheats are detected or what the false-positive behaviour is, so treat the claim as a direction of design rather than a specification.
Networking builds on willardf/Hazel-Networking, credited at the bottom of the README. The server targets .NET 8, which the Dockerfile confirms through the mcr.microsoft.com/dotnet/sdk:8.0 and aspnet:8.0 images.
Installing the Impostor server with Docker
The README does not put server commands on the front page. It says to see the docs for instructions on setting it up, and the repository ships docs/Running-the-server.md for exactly that. The Dockerfile in the repository root is the most concrete install path visible in the repository: it restores the three csproj files, publishes Impostor.Server for linux-x64, linux-arm64 or linux-arm depending on TARGETARCH, and copies the output into a .NET 8 ASP.NET runtime image.
A build from the repository root therefore looks like this. The build stage accepts a VERSIONSUFFIX argument that defaults to "docker", and the Dockerfile sets it to empty when you pass "none".
docker build -t impostor .When the build finishes you have an image whose working directory is /app. The Dockerfile's final stage is truncated in the repository, so the exposed ports and the exact entrypoint command are not visible here; check docs/Running-the-server.md and the end of the Dockerfile before you publish anything. What the repository does show is that the build is architecture-aware, so an arm64 host is a supported target rather than an afterthought.
On the client side the README sends you elsewhere: the setup page at impostor.github.io/Impostor walks through configuring your client for your operating system. That page, not the README, is where the connection details for your specific build live.
Version drift is the real operational cost
The README is unusually direct about the maintenance burden: because Among Us is actively updated, it recommends using the latest build from the master branch if you want to play on the latest version of Among Us that Impostor supports. That sentence encodes the whole failure mode. When the game client updates, the server has to catch up, and a server pinned to an old release will not match a current client.
Old releases are downloadable, but the README says they are less supported. So the choice is between tracking master and accepting churn, or pinning a release and accepting that new clients may not connect. For a casual group this is the difference between a server that works after a game patch and one that silently stops accepting logins. Nothing in the README describes a rollback procedure or a compatibility matrix, so you cannot plan a downgrade from the documentation alone.
There is a second, quieter constraint: the project is a reimplementation of a proprietary service. If Innersloth changes the protocol in a way the maintainers cannot or do not follow, the gap is not something you can patch from the outside.
When to run the official servers instead
The obvious alternative is simply playing on Innersloth's servers. The difference is not feature parity, since the README claims full parity, but control and obligation. Official servers require no host, no .NET runtime, no client patching and no upgrade tracking. Impostor trades all of that away for the ability to run private lobbies, add plugins and apply server-sided anticheat.
That trade is worth it in specific cases: a community that wants modded rules, a group that needs lobbies that are not publicly discoverable, or a setting where the official service is unreachable. It is a bad trade when the only goal is playing Among Us with friends, because you take on a service to operate and a compatibility race you did not ask for. The README's own framing supports this: the client section exists precisely for people who want to play on a server someone else runs.
Licence and the cost of staying current
Impostor is distributed under the GNU GPLv3, and the README states this plainly. For a private server that you run for your own group, the practical effect is that the source stays open and any modified version you distribute carries the same licence. The project is a standalone service, not a library you link into a closed product, so the copyleft boundary is easier to see than in a typical library dependency. This is a description of the licence text, not legal advice; if you plan to ship a modified Impostor as part of a commercial offering, have someone qualified read GPLv3 section 5 and section 6.
Upgrade cost is dominated by the same version drift described above. The release history shows a steady cadence: v1.10.6 on 2026-06-04, then v1.10.7 and v1.10.8 both on 2026-08-30, with the last push to master on 2026-09-22. That pattern suggests fixes land quickly when something breaks, but it also means a pinned deployment falls behind within weeks of a game update. Budget for a rebuild cycle, not a set-and-forget install.
What Impostor does not do
Impostor is a server for one game. The README describes no generic game-server framework, no matchmaking for other titles and no hosted offering. If you arrived here looking for an Among Us client mod, note that the README treats client configuration as a separate concern handled by the setup website, not by this repository.
The documentation is also thin in places that matter for operations. The README does not document rollback, does not list supported Among Us versions in a table, and does not describe the anticheat rules. The Dockerfile is truncated in the repository, so the container's exposed ports are not confirmed here. Anyone deploying this should read docs/Running-the-server.md and docs/TROUBLESHOOTING.md first, since the README defers to both rather than repeating them.
Editorial conclusion
Adopt Impostor if you run a private Among Us group and can host a .NET 8 service yourself; the README states plugin support and server-sided anticheat are part of the design. Avoid it if you need a managed service or a server for a game other than Among Us. Before committing, read docs/Running-the-server.md, check the client setup page at impostor.github.io/Impostor, and confirm your Among Us client version matches what the current master build supports, because the README warns that older releases are less supported.
Frequently asked questions
What is Impostor?
Impostor is an open source reimplementation of the Among Us server, written in C# and distributed under the GPL-3.0. The README describes it as the first working Among Us private server and says it is a full replacement for the official server.
How do I set up an Impostor server?
The README does not give server commands directly; it points to docs/Running-the-server.md for setup instructions. The repository also ships a Dockerfile that publishes Impostor.Server for linux-x64, linux-arm64 or linux-arm and copies the output into a .NET 8 ASP.NET runtime image.
How do I connect my Among Us client to an Impostor server?
If you only want to play on a server hosted by someone else, the README says to configure your client to connect to an Impostor server and directs you to the setup website at impostor.github.io/Impostor, which has instructions per operating system.
How do I set up the Impostor game?
The README splits the work in two: players configure their client using the instructions at impostor.github.io/Impostor for their operating system, and whoever runs the server follows docs/Running-the-server.md in the repository.
How do I install Impostor?
The README does not list install steps itself; it says to see the docs for instructions on setting up the server, and the repository includes a Dockerfile that builds Impostor.Server for linux-x64, linux-arm64 or linux-arm.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/impostor-impostor)