Template Request: Project Northstar
Module Request
Game Information: Project Northstar: Titanfall 2 mod
https://northstar.tf/ A mod that sixes many critical issues with Titanfall 2's netcode while adding new content, gamemodes, and self-hosting options.
Example Docker Compose file from the developers: https://gist.github.com/pg9182/4cfc1441a7fd6d5ed5b823a49b3a9f90 Docker container repo: https://github.com/pg9182/northstar-dedicated
Game Title: Project Northstar How to obtain: (https://github.com/R2Northstar/Northstar/releases) Supported OSs: Windows, Linux (Linux only for server hosting however) Supports RCON/Console input? Unsure.
I confirm:
- [x] that I have searched for an existing module request for this application.
- [ ] that the server is an official server distributed by the games publishers/developers.
- [x] that the server is available to the general public.
- [ ] that the server can be run headless (without a GUI).
- [x] I have already attempted to create a configuration myself using the configuration tool
Don't get your hopes up for this one. We can take another look, but I already attempted this a couple of years ago.
Back then it was riddles with security issues. It wouldn't run on Windows as Network Service (what AMP runs as) and Linux was only available as a convoluted Docker image which doesn't transfer over to AMP well.
Still requires a GPU according to the docs
That isnt true actually as stated in the wiki
Linux users can launch the server executable using a Docker image or by using Wine. If you do not have a DirectX 11 capable GPU in your system (for example if you are using a hosting service), you will want to host a Headless server.
And I run this docker image in truenas scale without a gpu installed
I also found this statement in their discord
Docker container includes custom D3D11 stub library and doesn't require GPU.
I will be watching this as I would love to move my northstar servers over to amp!
I was referring to this in the wiki (https://docs.northstar.tf/Wiki/hosting-a-server-with-northstar/dedicated-server/#dedicated-server-caveats):
At the moment, dedicated servers still require DirectX 11 to work, which typically requires a physical GPU, though they use almost no GPU processing power while in use, this can be an issue especially on GPU-less setups, so the launch argument -softwared3d11 can be used to force DirectX to run in software mode.\ While this is absolutely not ideal, it's the best solution for truly headless dedicated servers at the moment, and surprisingly hardly uses any CPU time, though it can use roughly up to 1GB of RAM.\ Regarding RAM usage, dedicated servers also use significant amounts of RAM at the moment, often requiring 1.5-2GB, though I expect this to lower as development continues.
Iirc both Ice and I tried running it with the software flag previously and it didn't play nice. Maybe development has progressed since.
The Linux side wasn't tested for that since it was a ridiculously complex image at the time. But yeah, Network Service didn't care for the flag.
Also, on this page (which the wiki refers you to for running the server without docker):
Running with wine This is not relevant if you are here for the Docker container. If you want to try running this without Docker, my stubs, or my custom Wine build, I've successfully used the following configurations. Note that you will need a full X server running (Xvfb won't do).
All of the dependencies, build requirements etc just don't make it a great candidate for AMP.
I've now got a template for this in my dev branch.
Also, the wine part is about to get much simpler and fully self-contained (plus ARM64 support).
I'm working on it intermittently in https://github.com/pg9182/nsdockerwine2/tree/nswine right now.
For now, a few points:
- You don't want to run on Wine 8.x; there's bugs which cause unusual behaviour in-game.
- If you're on Wine 7.x, you probably want https://github.com/pg9182/northstar-dedicated/blob/master/src/nswrap/nswrap.c, as it fixes various issues (stdout formatting, stdin concommands, properly terminating when stuff crashes, etc).
- If you have a Wine 10.x base image, you can drop xvfb if you set the graphics driver to null, and you can use https://github.com/pg9182/nsdockerwine2/blob/c412fb15ef20ebb6ba674796ac527a558942772a/nswrap/nswrap.c.
- The wiki is quite outdated; you don't need a lot of the things it mentions (e.g., softwared3d11) anymore as a bunch of work has been done by me and others to remove them (e.g., stubs, nopakdedi, various changes in ns).
- Stubs are here: https://github.com/R2Northstar/NorthstarStubs.
Not really how AMP works unfortunately. Tho with the stubs and wine 9 and Xvfb it seems OK - at least, the server starts OK it appears, haven't played on it tho
@pg9182 I had another look at your wrapper and the associated instructions for running with a separate wine installation, and managed to adapt it for AMP. Seems to work well. Full console! Well done on your work on this, and thanks for your contribution to point me in the right direction.
Some performance issues were noticed under the previous setup of the template on Linux; hopefully the changes inspired by you resolve those.