Closed WORMSTweaker closed 1 year ago
Hi @WORMSTweaker,
from what I see here:
9:49AM INF ICE connection state changed: failed module=webrtc submodule=pion subsystem=pc documents-qwantify-1 | 9:49AM INF connection state has changed connection_state=failed module=webrtc
Seems the ICE Connection can't go through.
Are you behind a firewall or are you using qwantify on a remote instance?
Hello @wanjohiryan,
No this is a local instance, running from a local docker daemon. Just to be sure, since this instance here is running on Windows, I tried disabling the default firewall, with no success.
For further testing, I will try the same scenario on a Linux machine, to know if this is a Windows only issue, or a wider issue with the container.
UPDATE: Testing the n.eko container lead to the same error, so this is an issue with the base image instead.
Searching in the n.eko issues, I figured out what was the issue:
For a local instance of n.eko, the NEKO_NAT1TO1
env variable is needed, where the value of this env variable need to be your current local IP.
For example, adding - NEKO_NAT1TO1=10.13.12.34
to my compose fixed the issue.
Adding this option in the default compose, as a commented optional argument could be interesting, in case this issue is raised again.
This is the reference that explained why local containers aren't working
Oh, tbh i have not used NAT1TO1 yet. Thanks for the info.
I assume you can login to qwantify/n.eko now, right?
Is your game running?
Yes, login in work
Although, my game wasn't running, might just be an issue with it tho since it was crashing, I'll try with a different game later An interesting thought for later would be to switch from base Wine to Proton-GE or similar for better game compatibility
Although, my game wasn't running
Might be the DX11 issue #2
An interesting thought for later would be to switch from base Wine to Proton-GE or similar for better game compatibility
Yeah, i will look into that. Though i have realised that anything 'custom' seems to be made for some app:
Adding this would add size to the docker image, so falling back to vanilla DXVK and VK3D is the only option
I might add a custom wine prefix for anyone wanting to play around with this.
Might be the DX11 issue https://github.com/wanjohiryan/qwantify/issues/2
Actually no, I had trouble with this game on my host too, needing odd libraries, it's not too bothersome
Adding this would add size to the docker image, so falling back to vanilla DXVK and VK3D is the only option
If the image size is a concern, you can always allow through a volume to specify an external Wine runtime (that can be Wine-GE, or Proton), this way by default the image will not get bigger unless the user wants to.
Something like - path\to\proton : \runtime
in the volume, and adding a env variable like RUNTIME=<whatever the name of the runtime folder is>
. This could be an alternative solution that wouldn't add size to the image.
Actually no, I had trouble with this game on my host too, needing odd libraries, it's not too bothersome
What game is it? if I may ask
If the image size is a concern, you can always allow through a volume to specify an external Wine runtime (that can be Wine-GE, or Proton), this way by default the image will not get bigger unless the user wants to.
Good idea, i had not considered this. But this would need the gamer to have some knowledge about wine, no?
Hmmm,if there was a volume mount for Wine runtime, then on container startup, the Go serverwould install any libaries the game needs and on finish finally run the game.
What game is it? if I may ask
Momodora 1, small indie game, it clearly does not support DXVK at all
But this would need the gamer to have some knowledge about wine, no?
Depends what you mean by Gamer, because if it is someone setting up a Qwantify instance, they already have a bit of knowledge about docker and volumes to set it up successfully, player connecting to this instance don't need to know about it.
Hmmm,if there was a volume mount for Wine runtime, then on container startup, the Go serverwould install any libaries the game needs and on finish finally run the game.
Since you already are installing winetricks, you could add a list of winetricks modules to install at runtime, in another variable (with this many variables, maybe a .env file would be needed?), which would let you customize the instance for a specific game
The wine prefix can be reused (this would save game progress between containers too)
It could be either copied at the end of the container life, and reimported when it starts again, that would work yes
Just as a confirmation, I was able to play the tutorial level of The Escapists 2 without any flaws, I guess this can be marked as resolved
Depends what you mean by Gamer, because if it is someone setting up a Qwantify instance, they already have a bit of knowledge about docker and volumes to set it up successfully, player connecting to this instance don't need to know about it.
Yeah, this does make sense.
Since you already are installing winetricks, you could add a list of winetricks modules to install at runtime, in another variable (with this many variables, maybe a .env file would be needed?), which would let you customize the instance for a specific game
Yeah, or a .yaml config file. And probably a json file to keep track of all the modules already installed in a particular prefix. Might reduce time when playing a game with a preconfigured prefix.
It could be either copied at the end of the container life, and reimported when it starts again, that would work yes
Great ideas, my friend. This are really good ideas.
Just as a confirmation, I was able to play the tutorial level of The Escapists 2 without any flaws, I guess this can be marked as resolved
Nice one. So DX11 does work, hmm.
Was there any latency? I understand you're playing on the local machine, but was there any lags or hicups?
How was your gameplay?
On a local machine, there was almost no input lag I tried with another game (Enter the Gungeon) where I tried to let one of my friends play They said there was some latency, less than a second (although this was at 1920x1080@60, which is sort of a lot), but it was playable
there was almost no input lag They said there was some latency, less than a second
That's good news. For a second I thought it would be disappointing for you :)
Thanks for the info.
Describe the bug After running the container with a game executable, the web interface is reachable, but trying to log in (both as an admin or a guest) fails, and the WebRTC connection is lost/not established.
To Reproduce Steps to reproduce the behavior:
Expected behavior Accessing the streaming interface
Screenshots No screenshot, but a log output from the container, taken as soon as I try to log in:
Desktop (please complete the following information):
Additional context No additional context.