Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linux release for the servers #49

Closed
Arbitrate3280 opened this issue Dec 25, 2021 · 18 comments
Closed

Linux release for the servers #49

Arbitrate3280 opened this issue Dec 25, 2021 · 18 comments

Comments

@Arbitrate3280
Copy link

Arbitrate3280 commented Dec 25, 2021

Opening this since #1 was closed.

Servers are usually hosted on linux machines. A linux release for the server portion would be welcomed, having to go through wine is not exactly ideal, and I'm not sure if it even works.

@IcePixelx
Copy link

It has to run under wine unless you feel like reversing the whole server part. Game doesn't exist on linux so no native compilation for it.

@Kuratius
Copy link

Kuratius commented Dec 25, 2021

@PixieCore from what I understand, reimplementing the server is exactly what this project did. Squirrel can run on linux.

@IcePixelx
Copy link

@Kuratius No wrong, it made it properly work. FULLY REBUILDING IT. Is another story.

@BobTheBob9
Copy link
Member

@PixieCore from what I understand, reimplementing the server is exactly what this project did. Squirrel can run on linux.

this project hooks the existing game client to host servers, it doesn't rebuild the server from scratch, tho it does rebuild alot of missing gamelogic, a native linux port would require reverse engineering a significant amount of code that only respawn has access to, so a native port is likely out of the question

@Kuratius
Copy link

@BobTheBob9 Could you reopen this? Even if a non wine release is not possible, ensuring it runs smoothly under wine (especially headlessly) would already be a great boon.

@pg9182
Copy link
Member

pg9182 commented Dec 26, 2021

For the record, I have successfully run a dedicated server (~1840 MB RAM, ~8 GB virtual, ~110ms CPU time on a Ryzen 5 3500U) on Fedora 35:

  • ext4 filesystem (I've had issues with other ones -- ntfs3 seems to work most of the time, but I've had tf2 complain about corrupted files a few times; overlayfs has the same issue unless it's backed by ext4)
  • Titanfall 2 (copied game files, not even fully installed, no origin)
  • Northstar v1.1.2
  • Mesa 21.3.2 (distro packages)
  • Wine 7.0.0-rc2 (distro packages)
export HOME=$PWD
export WINEARCH=win64
export WINEPREFIX=$HOME/Wine
export LIBGL_ALWAYS_SOFTWARE=1
export WINEDEBUG=-all
cp Titanfall2/NorthstarLauncher.exe Titanfall2/Titanfall2.exe
wine Titanfall2.exe -dedicated -multiple

DXVK must NOT be used since we want to use llvmpipe for software rendering via wined3d, and since WARP isn't supported on anything but Windows, we can't use -softwared3d11.

I am going to see if I can reduce the installation size, then try packaging it in a Docker container, then try to get it to run under emulation or dynamic recompilation on ARM.

@GeckoEidechse
Copy link
Member

GeckoEidechse commented Dec 26, 2021

I'm working on a wiki for Northstar at the moment whose content will hopefully be moved into the official Northstar wiki in the future.

I added a section for hosting dedicated servers on Linux, would be great if someone that managed to get it working could add the necessary steps via pull request on the repo linked to the gitbook.

EDIT: Wiki is now added to northstar repos so I updated the links accordingly.

@EzioTheDeadPoet
Copy link

I am going to see if I can reduce the installation size, then try packaging it in a Docker container, then try to get it to run under emulation or dynamic recompilation on ARM.

Please once you figured this out @ me on the post where you did it.

I am really really hyped for this.

@Legonzaur
Copy link

I managed to create a docker image running headlessly using lavapipe+dxvk+wine with the help of @pg9182's work
https://github.com/Legonzaur/northstar-server-headless

@pg9182
Copy link
Member

pg9182 commented Dec 29, 2021

Speaking of which, I'm working on a more polished container in pg9182/northstar-dedicated, where I also have collected many of my notes on running the NS dedi on Linux.

@Hacker1245
Copy link

Hacker1245 commented Jan 7, 2022

I am going to see if I can reduce the installation size, then try packaging it in a Docker container, then try to get it to run under emulation or dynamic recompilation on ARM.

Maybe you could try to run Northstar via FEX or box64?

@pg9182
Copy link
Member

pg9182 commented Jan 16, 2022

I have published my container.

Maybe you could try to run Northstar via FEX or box64?

@r3muxd tried this: FEX is too slow, and box64 is currently missing an opcode.

@Hacker1245
Copy link

@r3muxd on what device did you try that?

@pg9182
Copy link
Member

pg9182 commented Jan 16, 2022

Oracle ARM

@Hacker1245
Copy link

What CPUs do they have?

@EzioTheDeadPoet
Copy link

@Hacker1245 Ampere 3.0 GHz Ampere Altra 80C.

2-4 Cores on the free tier.

@Hacker1245
Copy link

that should run x64 emulation fine, so it's FEX not being fully optimized yet. Wonder how box64 will do once the unimplemented opcode is fixed.

@pg9182
Copy link
Member

pg9182 commented Jan 16, 2022

Yes, it should be fine with box64's recompilation; the Oracle ARM servers are pretty fast (I use it as a build server and a remote desktop).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

No branches or pull requests

9 participants