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

Does support Linux? #364

Open
mixneko opened this issue Feb 8, 2024 · 13 comments
Open

Does support Linux? #364

mixneko opened this issue Feb 8, 2024 · 13 comments
Labels
question Further information is requested

Comments

@mixneko
Copy link

mixneko commented Feb 8, 2024

I'm sorry ask question for this
but I'm curious if this project supports Linux. If I need to compile it myself, could you teach me how?
thank you

@UE4SS
Copy link
Collaborator

UE4SS commented Feb 8, 2024

There is no native Linux support currently, but we do support Wine/Proton.

@Avsynthe
Copy link

There is no native Linux support currently, but we do support Wine/Proton.

Is native Linux something that's planned by any chance?

I run a Pterodactyl setup for multiple game servers which utilises docker, meaning all the game servers are the Linux versions. So there's no way around this with wine for people like me!

@UE4SS
Copy link
Collaborator

UE4SS commented Feb 10, 2024

There is no native Linux support currently, but we do support Wine/Proton.

Is native Linux something that's planned by any chance?

I run a Pterodactyl setup for multiple game servers which utilises docker, meaning all the game servers are the Linux versions. So there's no way around this with wine for people like me!

By chance, I looked at some of the forks that people have made recently and there is a Linux fork so perhaps eventually there will be a PR made adding Linux support.

@UE4SS
Copy link
Collaborator

UE4SS commented Feb 10, 2024

So there's no way around this with wine for people like me!

Also yes, you should be able to use wine if you want to but I don't have any specific instructions for you when it comes to how to set everything up.

@Avsynthe
Copy link

Avsynthe commented Feb 10, 2024

Thanks for this. I should have specified, that for Palworld in particular which I'm modding right now, the Pterodactyl egg sadly uses the Linux version of the server. Though are you saying there's a way around this?

Which fork was the Linux one? I'd love to check that out and try my luck.

@UE4SS
Copy link
Collaborator

UE4SS commented Feb 10, 2024

Which fork was the Linux one? I'd love to check that out and try my luck.

I don't know if the port builds or what steps you might need to take to even try to build it, and if it does build, it might be all sorts of broken because this is an unofficial fork and there's no way to tell what state the port is.
It's entirely possible that they are in the middle of porting and that it's not even close to usable yet.

Here are two links, one for UE4SS and another for the Unreal submodule which is the code that handles communication between UE4SS and UE:
https://github.com/Yangff/RE-UE4SS/tree/linux-port
https://github.com/Yangff/UEPseudo/tree/linux

@UE4SS
Copy link
Collaborator

UE4SS commented Feb 10, 2024

Thanks for this. I should have specified, that for Palworld in particular which I'm modding right now, the Pterodactyl egg sadly uses the Linux version of the server. Though are you saying there's a way around this?

You should be able to use Wine if you have the necessary access to the computer (or VM) that hosts the server.
You'd need to download the Windows binaries for the Palworld server to your Linux server computer/VM and run it with Wine, which sounds extremely wasteful and I can't recommend it but it's the only way to do it right now.

@athaller
Copy link

+follow

@mixneko did you try the above port links? It looks like there hasnt been any activity in that repo since last month and looking from the commit history im not sure it builds yet. Did you find a solution to this? Running behind pterodactyl as well and looking to add nexus mods which uses UE4SS

@UE4SS
Copy link
Collaborator

UE4SS commented Jul 29, 2024

+follow

@mixneko did you try the above port links? It looks like there hasnt been any activity in that repo since last month and looking from the commit history im not sure it builds yet. Did you find a solution to this? Running behind pterodactyl as well and looking to add nexus mods which uses UE4SS

Linux support is very much fluid at the moment, but we've been making progress and it can be tracked via several pull requests.

These are the PRs that still need to be merged: #558#749, #384, https://github.com/Re-UE4SS/UEPseudo/pull/79
The following have already been merged: #636, https://github.com/Re-UE4SS/UEPseudo/pull/96
PR #575 was replaced by #636.
PR #557 was replaced by #749.

As far as I know, it does build and run, and there's some information about it here: https://github.com/Yangff/RE-UE4SS/wiki
There are also pre-built binaries, and I think the latest one is this one: https://github.com/Yangff/RE-UE4SS/actions/runs/9432680290 https://github.com/Yangff/RE-UE4SS/releases/tag/linux-experiment
It may or may not work depending on your set up.

@jobsidi
Copy link

jobsidi commented Nov 9, 2024

Linux support

is there any progress?

@prestonzen
Copy link

bump. Windows servers are just too expensive and resource hungry...

@UE4SS
Copy link
Collaborator

UE4SS commented Jan 8, 2025

bump. Windows servers are just too expensive and resource hungry...

It's very slowly being worked on.
One of the prerequisite PRs was merged since this was last brought up, and we have at least one more to go before we can start looking at the main PRs.
I updated the status above, see: #364 (comment)

@phoen1xf
Copy link

phoen1xf commented Jan 8, 2025

+follow
@mixneko did you try the above port links? It looks like there hasnt been any activity in that repo since last month and looking from the commit history im not sure it builds yet. Did you find a solution to this? Running behind pterodactyl as well and looking to add nexus mods which uses UE4SS

Linux support is very much fluid at the moment, but we've been making progress and it can be tracked via several pull requests.

These are the PRs that still need to be merged: #558#749, #384, Re-UE4SS/UEPseudo#79 The following have already been merged: #636, Re-UE4SS/UEPseudo#96 PR #575 was replaced by #636. PR #557 was replaced by #749.

As far as I know, it does build and run, and there's some information about it here: https://github.com/Yangff/RE-UE4SS/wiki There are also pre-built binaries, and I think the latest one is this one: https://github.com/Yangff/RE-UE4SS/actions/runs/9432680290 It may or may not work depending on your set up.

I can confirm it works on Linux with the nov release build in that fork here. The artifacts you linked have expired, but it has a release (or we can compile it ourselves).

If we combine the latest ue4ss version (v3.0.1 as of posting), the libUE4SS.so (link above), the BPModLoaderMod workaround, and the shared/UEHelpers/UEHelpers.lua from the linked fork release- it loads the BP Mods / pak files too!

Requires these settings in /ue4ss/UE4SS-settings.ini for docker/pterodactyl environments (no xterm gui console)

ConsoleEnabled = 1
GuiConsoleEnabled = 0

and

bUseUObjectArrayCache = false

needs to be set to avoid lag/stutters+sometimes refusing to boot at all.

Also needs

LD_PRELOAD = /home/container/ue4ss/libUE4SS.so

set in server commandline, before executable (after the config parser if you use it)
Example: LD_PRELOAD=/home/container/ue4ss/libUE4SS.so /home/container/Pal/Binaries/Linux/PalServer-Linux-Shipping

How long it stays stable for (without crashing), we'll see. Palworld stable for an hour with a large base+20 pals running around.
Pterodactyl / Linux debian 12, only one mod (creativemenu) outside of the default ones.

console log with creativemenu for reference, which has its own LogicMod pak:

[21:55:13] m_shared_functions: 0x702529a36458
[21:55:13] Failed to set input source to: Default
[21:55:13] Enabling custom events
[21:55:13] Starting mods (from mods.txt load order)...
[21:55:13] Starting Lua mod 'CheatManagerEnablerMod'
[21:55:13] [RegisterHook] Registered native hook (1, 2) for Function /Script/Engine.PlayerController:ClientRestart
[21:55:13] Mod 'ActorDumperMod' disabled in mods.txt.
[21:55:13] Starting Lua mod 'ConsoleCommandsMod'
[21:55:13] Starting Lua mod 'ConsoleEnablerMod'
[21:55:13] [Lua::execute_file] lua_pcall returned LUA_ERRRUN => .../container/ue4ss/Mods/ConsoleEnablerMod/Scripts/main.lua:38: attempt to call a nil value (field 'GetEngine')
[21:55:13] Mod 'SplitScreenMod' disabled in mods.txt.
[21:55:13] Mod 'LineTraceMod' disabled in mods.txt.
[21:55:13] Starting Lua mod 'BPML_GenericFunctions'
[21:55:13] Starting Lua mod 'BPModLoaderMod'
[21:55:13] [Lua] Mods/BPModLoaderMod/load_order.txt not present or no matching mods, loading all BP mods in random order.[21:55:13] [Lua] CreativeMenu == table: 0x7023d8099640
[21:55:13] [Lua]     AssetPath == /Game/Mods/CreativeMenu/ModActor
[21:55:13] [Lua]     AssetNameAsFName == FNameUserdata: 0x7023d80667c8
[21:55:13] [Lua]     Name == CreativeMenu
[21:55:13] [Lua]     AssetName == ModActor_C
[21:55:13] [Lua] NOTE: This is intended to be a temporary workaround for Dedicated Server LogicMods issues
[21:55:13] Mod 'jsbLuaProfilerMod' disabled in mods.txt.
[21:55:13] Starting Lua mod 'Keybinds'
[21:55:13] Starting mods (from enabled.txt, no defined load order)...
[21:55:13] Mod 'CreativeMenu' has enabled.txt, starting mod.
[21:55:13] [Lua] [CreativeMenu] Loading main.lua
[21:55:13] [Lua] [CreativeMenu] Keybind to Open Menu is set to F1
[21:55:13] [RegisterHook] Registered native hook (3, 4) for Function /Script/Pal.PalNetworkBaseCampComponent:Request_Server_void
[21:55:13] [RegisterHook] Registered native hook (5, 6) for Function /Script/Pal.PalPlayerController:SendLog_ToClient
[21:55:13] Event loop start
[21:55:13] [Lua] [CreativeMenu] Finished loading main.lua!
[21:55:13] [Lua] [CreativeMenu] CreativeMenu Lua v0.4.2 has been loaded.
[21:55:15] [Lua] Loading mod: CreativeMenu
[21:55:15] [Lua] Actor for mod 'CreativeMenu' is not valid, retrying...
Running Palworld dedicated server on :8211
[21:55:18] [Lua] [BPModLoaderMod] Failed to load LogicMods, retrying...
[21:55:18] [Lua] Loading mod: CreativeMenu
[21:55:18] [Lua] [BP] [CreativeMenu] Blueprint Core Loaded
[21:55:18] [Lua] Actor: ModActor_C /Game/Pal/Maps/MainWorld_5/PL_MainWorld5.PL_MainWorld5:PersistentLevel.ModActor_C_2147142313
[21:55:18] [Lua] Finished loading LogicMods!
[21:55:18] [Lua] [CreativeMenu] [Blueprint] Initializing CreativeMenu v0.5.0 by Okaetsu
[21:55:18] [Lua] [CreativeMenu] BeginPlay -> Blueprint successfully configured!
[21:55:18] [Lua] [CreativeMenu] Platform: Linux
[21:55:18] [Lua] [CreativeMenu] Localization: en
[21:55:18] [Lua] [CreativeMenu] Game Version: v0.4.12.64723
...
[21:56:16] [Lua] [CreativeMenu] Phoenixf obtained Money x 1337```

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

7 participants