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

There might be an issue with new proton versions #81

Open
1 task done
faandg opened this issue Aug 23, 2024 · 16 comments
Open
1 task done

There might be an issue with new proton versions #81

faandg opened this issue Aug 23, 2024 · 16 comments
Labels
question❓ Further information is requested

Comments

@faandg
Copy link

faandg commented Aug 23, 2024

Is there an existing issue for this?

  • I have searched the existing issues

Question

See ValveSoftware/Proton#7995

Haven't had time to extensively test multiple versions and flavors, but I can't get a stable proton version to work atm.
Was running fine last week. If anyone has more info, please share.

@faandg faandg added the question❓ Further information is requested label Aug 23, 2024
@cp-fabian-pittroff
Copy link
Member

Hey @faandg,

did you also try an old enshrouded image (e.g. 1.2.0-proton)?

@faandg
Copy link
Author

faandg commented Aug 23, 2024

@cp-fabian-pittroff just tested it with 1.2.0-proton and I have the same issue but I can't really explain it.
Even if I use new data dirs, let everything update and let it regenerate the config which looks fine at first glance

        "name": "<redacted>",
        "saveDirectory": "/workdir/savegame",
        "logDirectory": "/workdir/logs",
        "ip": "0.0.0.0",
        "queryPort": 15639,
        "slotCount": 5,
        "gameSettingsPreset": "Default",
        "gameSettings": {
                "playerHealthFactor": 1,
                "playerManaFactor": 1,
                "playerStaminaFactor": 1,
                "enableDurability": true,
                "enableStarvingDebuff": false,
                "foodBuffDurationFactor": 1,
                "fromHungerToStarving": 600000000000,
                "shroudTimeFactor": 1,
                "tombstoneMode": "AddBackpackMaterials",
                "miningDamageFactor": 1,
                "plantGrowthSpeedFactor": 1,
                "resourceDropStackAmountFactor": 1,
                "factoryProductionSpeedFactor": 1,
                "perkUpgradeRecyclingFactor": 0.500000,
                "perkCostFactor": 1,
                "experienceCombatFactor": 1,
                "experienceMiningFactor": 1,
                "experienceExplorationQuestsFactor": 1,
                "randomSpawnerAmount": "Normal",
                "aggroPoolAmount": "Normal",
                "enemyDamageFactor": 1,
                "enemyHealthFactor": 1,
                "enemyStaminaFactor": 1,
                "enemyPerceptionRangeFactor": 1,
                "bossDamageFactor": 1,
                "bossHealthFactor": 1,
                "threatBonus": 1,
                "pacifyAllEnemies": false,
                "dayTimeDuration": 1800000000000,
                "nightTimeDuration": 720000000000
        },
        "userGroups": [
                {
                        "name": "Admin",
                        "password": "<redacted>",
                        "canKickBan": true,
                        "canAccessInventories": true,
                        "canEditBase": true,
                        "canExtendBase": true,
                        "reservedSlots": 1
                },
                {
                        "name": "Friend",
                        "password": "<redacted>",
                        "canKickBan": false,
                        "canAccessInventories": true,
                        "canEditBase": true,
                        "canExtendBase": true,
                        "reservedSlots": 3
                },
                {
                        "name": "Guest",
                        "password": "<redacted>",
                        "canKickBan": false,
                        "canAccessInventories": false,
                        "canEditBase": false,
                        "canExtendBase": false,
                        "reservedSlots": 0
                }
        ]
}
2024-08-23 17:44:57,903 INFO success: enshrouded-server entered RUNNING state, process has stayed up for > than 10 seconds (startsecs)

Runs at max CPU and it's unreachable.
Are there some other things I can check or enable some trace logs?

@cp-fabian-pittroff
Copy link
Member

@faandg there is no other log after that? Something like supervisord: enshrouded-server [Session] 'HostOnline' (up)!?

Seems there is something really wrong with starting proton itself.
You could try setting the log_level env var, to get some more information.

services:
  enshrouded:
    ...
    environment:
      - ...
      - log_level=50

Can you specify your exact distro + version? I try to spin up a VM and test it locally.
But for the time being, you can try to switch to the wine version 1.3.0-wine or stable-wine. It's a little more resource hungry, but should work if I read the linked post correctly.

@faandg
Copy link
Author

faandg commented Aug 23, 2024

2024-08-23 20:01:50.612 supervisord: enshrouded-server [Session] started transition from 'Lobby' to 'Host_Online' (current='<invalid>')!
2024-08-23 20:01:50.612 supervisord: enshrouded-server [Session] 'PrepareGame' (up)!
2024-08-23 20:01:50.613 supervisord: enshrouded-server [os] Started thread 0x000000000a26d850 (GameServer) with stack range (0x0000000033090000-0x0000000033190000 size:1,048,576)
2024-08-23 20:01:59,629 INFO success: enshrouded-server entered RUNNING state, process has stayed up for > than 10 seconds (startsecs)
2024-08-23 20:01:59.633 supervisord: enshrouded-updater enshrouded-server: started
2024-08-23 20:01:59.672 supervisord: enshrouded-updater INFO - enshrouded-updater complete
2024-08-23 20:01:59,676 INFO exited: enshrouded-updater (exit status 0; expected)

This is the end of the log (with -e log_level=50) except for the backup service which pops up after a while.
First line is the closest thing to the line you mentioned.

I did find a couple of errors, not sure if they can be expected/ignored:

2024-08-23 20:01:49.245 supervisord: enshrouded-server 0070:err:wineusb:DriverEntry Failed to initialize Unix library, status 0xc0000135.
2024-08-23 20:01:49.245 supervisord: enshrouded-server 0070:err:ntoskrnl:ZwLoadDriver failed to create driver L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\wineusb": c0000135
2024-08-23 20:01:49,492 INFO reaped unknown pid 258 (exit status 0)
2024-08-23 20:01:49,492 INFO reaped unknown pid 273 (exit status 0)

I'm running Manjaro linux 24.0.7 with kernel 6.10.5-1 which is a relatively new combo, I could roll back and check if the issue is also present on 6.9.
Everything is running on podman version 5.2.1 using systemd services.
I run a couple other gameservers (Minecraft, Valheim, ... ) but none using proton so I can't really compare.

Can try a couple more configurations, wine build or different kernels tomorrow, need some sleep first :)

@faandg
Copy link
Author

faandg commented Aug 24, 2024

@cp-fabian-pittroff
proton
Unfortunately same issue on 6.9 where it was previously running fine.

stable-wine
I'm not sure if I can just switch my existing server from proton to wine so first I started with new empty volumes.
I have an issue that it can't find the wine64 executable referenced in the enshrouded server script on a new install.
It doesn't seem to be on the path for the enshrouded user?

2024-08-24 08:45:21,434 INFO spawned: 'enshrouded-server' with pid 553
2024-08-24 08:45:21.438 supervisord: enshrouded-server INFO - Running enshrouded-server
2024-08-24 08:45:21.438 supervisord: enshrouded-server DEBUG - [553] - Server config ServerName:<redacted> - ServerPort:15636 - ServerQueryPort:15637
2024-08-24 08:45:21.439 supervisord: enshrouded-server /usr/local/etc/enshrouded/enshrouded-server: line 38: wine64: command not found
2024-08-24 08:45:21.439 supervisord: enshrouded-server DEBUG - [553] - enshrouded-server with PID 557 stopped
2024-08-24 08:45:21.439 supervisord: enshrouded-server INFO - Releasing PID file /var/run/enshrouded/enshrouded-server.pid
2024-08-24 08:45:21.439 supervisord: enshrouded-server INFO - Shutdown complete
2024-08-24 08:45:21,440 WARN exited: enshrouded-server (exit status 0; not expected)
2024-08-24 08:45:22,441 INFO gave up: enshrouded-server entered FATAL state, too many start retries too quickly
root@a8b61a01b9f2:/usr/local/etc/enshrouded# cat /usr/local/etc/enshrouded/enshrouded-server | grep wine
  wine64 "$enshrouded_server" &
podman exec -it enshrouded3 /bin/bash

root@a8b61a01b9f2:/usr/local/etc/enshrouded# su - enshrouded
$ wine64
-sh: 1: wine64: not found

$ which wine
/usr/bin/wine

$ which wine64
$

I did find it at /usr/lib/wine/wine64
Is it maybe missing an alias or PATH export?

@cp-fabian-pittroff
Copy link
Member

damn, seems like wine doesn't add wine64 to /usr/bin anymore. Updated the server script to use wine instead.

Could you try out dev-wine, the new version should be available shortly. Give the server a little time to properly connect to steam. I'm getting some Server failed to connected to Steam errors, but after some minutes it connects successfully.

@faandg
Copy link
Author

faandg commented Aug 24, 2024

@cp-fabian-pittroff thanks for the fix, dev-wine works now, I can see my server in the server list.
Also resource-wise it takes 25% of 1 core on a system with 32 cores which is very acceptable. Idle of course.

Proton used to take a similar amount of resources before it stopped working.
I don't mind keeping this issue open to test proton updates, in fact I will give dev-proton a shot.

@faandg
Copy link
Author

faandg commented Aug 24, 2024

dev-proton definitely still a problem.
image

@cp-fabian-pittroff
Copy link
Member

dev proton is basically the same as stable. I will keep an eye out for updates for proton and test a little further.

In my VM with fedora as distro (simpler to spin up for me) I have the same problem. Could this also be related with a podman update?

Good that it works for you. The wine and proton image should be more or less compatible. But to keep it separate, you can just copy your latest backup to the wine save location of enshrouded. Than you are good to go.

@cp-fabian-pittroff
Copy link
Member

image
when I'm connected, it uses a lot of resources - its only a small vm with 4 cores (~2.3 ghz)

@faandg
Copy link
Author

faandg commented Aug 24, 2024

Is your server accessible/listed in the server browser? Mine never gets to that point on proton.

There was an update on my distro last week so I checked my cache and reverted to the previous version of podman (5.1.2-1)
Still at max CPU with this version
image

@cp-fabian-pittroff
Copy link
Member

nope, it hangs after [Session] 'PrepareGame' (up)!

well thats unfortunate, but thanks for helping

@ckupe
Copy link

ckupe commented Sep 4, 2024

@cp-fabian-pittroff I used to use your container before, its what my server was based on. I built my own container since then and I get the same behavior on Fedora 40 workstation/server. I submitted bug reports here:

ValveSoftware/Proton#7995

as well as on Fedora's bugzilla here:
https://bugzilla.redhat.com/show_bug.cgi?id=2305547

I tested on a lot of distros and only found this behavior to be a problem on latest Fedora 40 for some reason.

@ckupe
Copy link

ckupe commented Sep 4, 2024

dev proton is basically the same as stable. I will keep an eye out for updates for proton and test a little further.

In my VM with fedora as distro (simpler to spin up for me) I have the same problem. Could this also be related with a podman update?

Good that it works for you. The wine and proton image should be more or less compatible. But to keep it separate, you can just copy your latest backup to the wine save location of enshrouded. Than you are good to go.

I tested on debian, debian sid, and ubuntu LTS both with podman and docker and they were all fine.

It's just Fedora 40 (updated) with proton in a container that has issues. Running it native on F40 is fine, even running the container on a brand new F40 install without updating it works fine. But some package update broke the underlying host, and the container behaves like the above since then.

And it's not just your container, it's any container leveraging proton.

@faandg
Copy link
Author

faandg commented Sep 22, 2024

damn, seems like wine doesn't add wine64 to /usr/bin anymore. Updated the server script to use wine instead.

Could you try out dev-wine, the new version should be available shortly. Give the server a little time to properly connect to steam. I'm getting some Server failed to connected to Steam errors, but after some minutes it connects successfully.

@cp-fabian-pittroff
There's another wine64 here

info "wine version: $(wine64 --version)"

It's not too important because the server runs but it messes with the proper execution of boot and update scripts I think.

Regarding the main proton issue I tested about a week ago with newer versions and it's still around.
Posted on a couple related Discords but no luck.

@cp-fabian-pittroff
Copy link
Member

@faandg, thanks for the wine64 catch. I'll release a new version shortly with some changes.

I'll also add the proton-ge update to version 9-14. But I don't think it has been fixed in this version yet.

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

4 participants
@faandg @ckupe @cp-fabian-pittroff and others