AMPTemplates icon indicating copy to clipboard operation
AMPTemplates copied to clipboard

Template Request: Project Northstar

Open brasswings opened this issue 9 months ago • 6 comments

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

brasswings avatar Mar 25 '25 04:03 brasswings

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.

IceOfWraith avatar Mar 25 '25 04:03 IceOfWraith

Still requires a GPU according to the docs

Greelan avatar Mar 25 '25 04:03 Greelan

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!

TheAndroidx1 avatar Apr 07 '25 01:04 TheAndroidx1

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.

Greelan avatar Apr 07 '25 01:04 Greelan

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.

IceOfWraith avatar Apr 07 '25 01:04 IceOfWraith

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.

Greelan avatar Apr 07 '25 01:04 Greelan

I've now got a template for this in my dev branch.

Greelan avatar Jul 03 '25 10:07 Greelan

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.

pg9182 avatar Jul 05 '25 01:07 pg9182

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.

pg9182 avatar Jul 05 '25 01:07 pg9182

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

Greelan avatar Jul 05 '25 01:07 Greelan

@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.

Greelan avatar Jul 10 '25 05:07 Greelan