You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bumping this! I also have tried with nginx and have the same issue. I went into the code (ioquake3.js and ioq3ded.js) and changed http to https where it sets the url variable - lines 15227 and 15277 in ioquake3.js, and lines 9532 and 9404 in ioq3ded.js
Doing that gave me the following error related to ioq3ded.js under the ----- FS_Startup ----- header: TypeError [ERR_INVALID_PROTOCOL]: Protocol "https:" not supported. Expected "http:"
On the nginx side, I've tried adding proxy_set_header X-Forwarded-Proto https as well as a sub_filter to try to force https with no luck.
I did a little more digging and - using a fork of the quakejs branch above - built this new pattern for running a dockerized quakejs via https.
It requires no manual reverse proxy setup / configuration or ssl cert setup (these are performed automatically), and works with any self/hosting provider.
You can find more details here to see if this pattern works for you.
I am still working out a final issue: proper setup / routing of the (secure) web socket.
The lack of working web socket causes the "awaiting challenge" screen. You can create a multiplayer game from the menu, but can't join one in progress.
Activity
purvaldur commentedon Aug 20, 2021
Bump - I encountered this issue as well. No idea how to workaround
barocko-works commentedon Sep 6, 2021
BUMP!
samkasman commentedon Feb 5, 2022
Also trying to figure out how to get it to work via Traefik/HTTPS, no luck
treyyoder commentedon Aug 30, 2022
Have you tried a reverse proxy? Like nginx?
barocko-works commentedon Aug 30, 2022
I've tried Traefik Reverse Proxy
stp14 commentedon May 17, 2023
Bumping this! I also have tried with nginx and have the same issue. I went into the code (ioquake3.js and ioq3ded.js) and changed
httptohttpswhere it sets theurlvariable - lines 15227 and 15277 in ioquake3.js, and lines 9532 and 9404 in ioq3ded.jsDoing that gave me the following error related to ioq3ded.js under the
----- FS_Startup -----header:TypeError [ERR_INVALID_PROTOCOL]: Protocol "https:" not supported. Expected "http:"On the nginx side, I've tried adding
proxy_set_header X-Forwarded-Proto httpsas well as asub_filterto try to forcehttpswith no luck.realies commentedon Dec 24, 2023
@stp14, please try the changes in #24. This should allow for an easy reverse proxy setup.
madsboddum commentedon Mar 15, 2024
Encountered this yesterday as well.
neonwatty commentedon Nov 14, 2024
There is also a rundown of how to do this with the un-dockerized version. See under Running Secure Servers (Content, Dedicated, and Web) Quick-Start.
neonwatty commentedon Dec 2, 2024
I did a little more digging and - using a fork of the quakejs branch above - built this new pattern for running a dockerized quakejs via https.
It requires no manual reverse proxy setup / configuration or ssl cert setup (these are performed automatically), and works with any self/hosting provider.
You can try it out at this example url
https://kamal-quake.xyz
You can find more details here to see if this pattern works for you.
I am still working out a final issue: proper setup / routing of the (secure) web socket.
The lack of working web socket causes the "awaiting challenge" screen. You can create a multiplayer game from the menu, but can't join one in progress.
AlinGheaja commentedon Feb 12, 2025
any progress adding https to docker and game ?
PeterTucker commentedon Jul 12, 2025
BUMP
neonwatty commentedon Aug 14, 2025
Hi! Sorry no progress yet - haven't had time to dig back into solve the secure web socket issue. Any assistance / ideas would be much appreciated.
neonwatty commentedon Nov 29, 2025
Done!
Finally got around to wrapping this up (the remaining todo was wiring up the secure web socket connection).
repo -> https://github.com/neonwatty/kamal-quake
play multiplayer over https demo -> kamal-quake.xyz
treyyoder commentedon Aug 13, 2026
see #35