Coder Social home page Coder Social logo

quakejs-docker's People

Contributors

red-avtovo avatar treyyoder avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

quakejs-docker's Issues

Container tries to pull some content from outside

hello, love the idea of this container to have everything inside.
Tried to run it, but got this.

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
 *
WARNING: using emscripten GL emulation. This is a collection of limited workarounds, do not expect it to work.
WARNING: using emscripten GL emulation unsafe opts. If weirdness happens, try -s GL_UNSAFE_OPTS=0
ioq3 1.36_GIT_4f7d7bf-2014-02-01 emscripten- Feb 23 2014
----- FS_Startup -----
events.js:183
      throw er; // Unhandled 'error' event
      ^

Error: connect EHOSTUNREACH 104.28.27.218:80
    at Object._errnoException (util.js:1022:11)
    at _exceptionWithHostPort (util.js:1044:20)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1198:14)

So it still tries to connect somewhere for assets.

Automate Image Creation

The initial issue with this was accepting the license agreement when starting the quakejs server.

I'm not sure if there is a way we could use entrypoint.sh to init the server and accept user input to accept the license agreement.

Only QuakeJS logo

Hi, I have no errors on this container in docker. However when i go to the ip adress, all I get is the QuakeJS logo.

Any idea on what could be wrong?

Adding server to the QuakeJS Master server list

Is this Docker container able to register to the master.quakejs.com MasterServer so it will show up in its list at http://quakejs.com?

I tried to add to autoexec.cfg via docker-compose.

autoexec.cfg

set sv_master1 "master.quakejs.com"
set dedicated 2

docker-compose.yaml

version: '2'
services:
    quakejs:
        container_name: quakejs
        environment:
            - SERVER=XX.XX.XX.XX
            - HTTP_PORT=8080
        ports:
            - '8080:80'
            - '27960:27960'
        image: 'treyyoder/quakejs:latest'
        volumes:
            - /home/docker/quakejs/server.cfg:/quakejs/base/baseq3/server.cfg
            - /home/docker/quakejs/autoexec.cfg:/quakejs/base/baseq3/autoexec.cfg

I think either the master server didn't like the information it was sending, as the list on the quakejs.com website went blank, or just my desktop was being slow.

Change Quakejs Port ?

Awesome work on this. Out of interest, after some googling I couldnt see a nice way to change the port easily. Is there a way you have seen to get around pesky firewall policies? I.e change port 27960

Page Stuck JS

After I run the docker container I attempt to join the server but the page is stuck on JS. Anyone have any suggestions for remediation?

Add HTTPS

Hi,

I added the https but there is no parameter to activate it for this container...

Mu docker container:

docker run -d --name quakejs
-e SERVER=quakejs.domainename.com
-e HTTP_PORT=80
-p 10113:80
-p 27960:27960
-l traefik.enable="true"
-l traefik.http.routers.quakejs.rule="Host(quakejs.domainename.com)"
-l traefik.http.routers.quakejs.entrypoints="websecure"
-l traefik.http.services.quakejs.loadbalancer.server.port=80
treyyoder/quakejs:latest

Sans titre

( i replace my domaine per domainename ^^)

missing texture

some map (like all "pro-..." map) missing texture in game.

Custom Maps

Hi, thanks for your work on this. Makes it really easy.

Are there any plans to allow additional map support? Or instructions on how you can add custom maps?

Thanks

entrypoint.sh is missing exec permission

standard_init_linux.go:211: exec user process caused "exec format error"

Docker quits with this error.

Expected

Docker runs :)

Edit

Yes, I just pulled the image.

Pi support

Hello! First off, thanks for this, I'm having great fun smashing my kids into the ground!

Secondly, a tip for anyone who's looking, swapping the image base to arm32v7/ubuntu:latest allows you to host this on a Pi. This has made it a lot better for me at home, as I can leave it up all the time rather than spawning it on a macbook.

Cheers!

any way to change game server port (27960)?

hey everyone,
is there a way to change the game server port? I tried editing the server.cfg to add this
set net_port "8080"
but it's still listening on port 27960 .
log:

2024-04-13 12:29:04 Hostname: emscripten
2024-04-13 12:29:04 IP: 172.29.1.0
2024-04-13 12:29:04 Opening IP socket: 0.0.0.0:27960

any idea? It's because my friend has some outbound port being blocked and connect using 27960
cheers

Can't start docker because of "ECONNREFUSED 188.114.97.2:80"

Hello,
I'm trying to install quakejs-docker on a Debian 11 behind a proxy.
Unfortunately, when do sudo -E docker compose up, it failed because of this error:

x@xxx:~/quake$ export https_proxy=http://proxy:3128
x@xxx:~/quake$ export http_proxy=http://proxy:3128
x@xxx:~/quake$ sudo -E docker compose up
[+] Running 1/0
 ⠿ Container quakejs  Created                                                                                                                                                                             0.0s
Attaching to quakejs
quakejs  |  * Starting Apache httpd web server apache2
quakejs  | AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.25.0.2. Set the 'ServerName' directive globally to suppress this message
quakejs  |  * 
quakejs  | WARNING: using emscripten GL emulation. This is a collection of limited workarounds, do not expect it to work.
quakejs  | WARNING: using emscripten GL emulation unsafe opts. If weirdness happens, try -s GL_UNSAFE_OPTS=0
quakejs  | ioq3 1.36_GIT_4f7d7bf-2014-02-01 emscripten- Feb 23 2014
quakejs  | ----- FS_Startup -----
quakejs  | events.js:183
quakejs  |       throw er; // Unhandled 'error' event
quakejs  |       ^
quakejs  | 
quakejs  | Error: connect ECONNREFUSED 188.114.97.2:80
quakejs  |     at Object._errnoException (util.js:1022:11)
quakejs  |     at _exceptionWithHostPort (util.js:1044:20)
quakejs  |     at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1198:14)
quakejs exited with code 1

I also tried with curl to get to this IP:

x@xxx:~/quake$ sudo -E curl 188.114.97.2:80
error code: 1003

my docker-compose.yml :

version: '2'
services:
    quakejs:
        container_name: quakejs
        environment:
            - HTTP_PORT=8080
        ports:
            - '8080:80'
            - '27960:27960'
        image: 'treyyoder/quakejs:latest'

So I think the website is down and it's now impossible to download all the necessary file...
Is this correct ? Is there another way to download the files ?

Thanks a lot for your help !

Errors with docker-compose

Loads of errors with the below. Not sure how to troubleshoot

Docker-compose:

version: '2'
services:
����quakejs:
��������container_name: quakejs
��������environment:
������������- HTTP_PORT=8888
��������ports:
������������- '8888:8888'
������������- '27960:27960'
��������image: 'treyyoder/quakejs:latest'

Creating quakejs ... 

ERROR: for quakejs  a bytes-like object is required, not 'str'

ERROR: for quakejs  a bytes-like object is required, not 'str'
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/docker/api/client.py", line 261, in _raise_for_status
    response.raise_for_status()
  File "/usr/lib/python3/dist-packages/requests/models.py", line 943, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 500 Server Error: Internal Server Error for url: http+docker://localhost/v1.22/containers/82943a8a0112e731107200a069742650a076b0ab0a8c2d1cb8584dc52afbfaee/start

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/compose/service.py", line 625, in start_container
    container.start()
  File "/usr/lib/python3/dist-packages/compose/container.py", line 241, in start
    return self.client.start(self.id, **options)
  File "/usr/lib/python3/dist-packages/docker/utils/decorators.py", line 19, in wrapped
    return f(self, resource_id, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/docker/api/container.py", line 1095, in start
    self._raise_for_status(res)
  File "/usr/lib/python3/dist-packages/docker/api/client.py", line 263, in _raise_for_status
    raise create_api_error_from_http_exception(e)
  File "/usr/lib/python3/dist-packages/docker/errors.py", line 31, in create_api_error_from_http_exception
    raise cls(e, response=response, explanation=explanation)
docker.errors.APIError: 500 Server Error: Internal Server Error ("b'driver failed programming external connectivity on endpoint quakejs (b4df0399e6c7b1a376f4280057c1fec1a8cc7d0ea2b6ff9b103cdf1cc75b7a8e): Bind for 0.0.0.0:8888 failed: port is already allocated'")

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/docker-compose", line 11, in <module>
    load_entry_point('docker-compose==1.25.0', 'console_scripts', 'docker-compose')()
  File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 72, in main
    command()
  File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 128, in perform_command
    handler(command, command_options)
  File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 1107, in up
    to_attach = up(False)
  File "/usr/lib/python3/dist-packages/compose/cli/main.py", line 1088, in up
    return self.project.up(
  File "/usr/lib/python3/dist-packages/compose/project.py", line 565, in up
    results, errors = parallel.parallel_execute(
  File "/usr/lib/python3/dist-packages/compose/parallel.py", line 112, in parallel_execute
    raise error_to_reraise
  File "/usr/lib/python3/dist-packages/compose/parallel.py", line 210, in producer
    result = func(obj)
  File "/usr/lib/python3/dist-packages/compose/project.py", line 548, in do
    return service.execute_convergence_plan(
  File "/usr/lib/python3/dist-packages/compose/service.py", line 545, in execute_convergence_plan
    return self._execute_convergence_create(
  File "/usr/lib/python3/dist-packages/compose/service.py", line 460, in _execute_convergence_create
    containers, errors = parallel_execute(
  File "/usr/lib/python3/dist-packages/compose/parallel.py", line 112, in parallel_execute
    raise error_to_reraise
  File "/usr/lib/python3/dist-packages/compose/parallel.py", line 210, in producer
    result = func(obj)
  File "/usr/lib/python3/dist-packages/compose/service.py", line 465, in <lambda>
    lambda service_name: create_and_start(self, service_name.number),
  File "/usr/lib/python3/dist-packages/compose/service.py", line 457, in create_and_start
    self.start_container(container)
  File "/usr/lib/python3/dist-packages/compose/service.py", line 627, in start_container
    if "driver failed programming external connectivity" in ex.explanation:
TypeError: a bytes-like object is required, not 'str'

Trying start behind a reverse proxy...

I can reach quakejs on LAN but not all I wanna frag is on LAN, so I thought hey lets give it a subdomain and let the carnage begin!

But oh now... localip:8080 works, nginx reverse proxy points to localip:8080 as so many other subdomains, but this gives me an forbidden error (111) and in the browser it says 502.

Adding new serverside mod

I was trying to host a game with Noghost mod and noticed that the pk3 should be added to the public manifest.
Or to have another content server. Can help with that? i am trying to build everything according to the instructions on quake js repo, but the dependencies used are nowhere to be found. Using the latest emscripten gives a chain of errors.

Would it be possible to add the NoGhost server side mod to the public manifest? http://noghost.net

There are several server side enhancements to provide a smoother gameplay as well as a lot of mods to play.

We used to play this mod mostly on point of release 1.16n. And this was compatible with quake 3 demo as well as quake 3 1.11.

However afaik the ioq3 is based on 1.32 point of release. so i am not sure if this can be converted.

However there is a serverside mod for both:

1.16 / 1.11 / demo : http://www.noghost.net/modfiles/1.16/NoGhost.zip

1.32: http://www.noghost.net/modfiles/1.32/NoGhost_beta.zip (it says beta but this has been used for a while and didn't get an update afaik)

or just to add NoGhost like a mod (similar to CPMA) then we can just use fs_game

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.