Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jwodder/nethack-docker
NetHack Docker image
https://github.com/jwodder/nethack-docker
docker docker-image game nethack
Last synced: 7 days ago
JSON representation
NetHack Docker image
- Host: GitHub
- URL: https://github.com/jwodder/nethack-docker
- Owner: jwodder
- License: mit
- Created: 2015-12-13T23:59:06.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2024-07-13T23:07:07.000Z (4 months ago)
- Last Synced: 2024-07-14T00:21:36.930Z (4 months ago)
- Topics: docker, docker-image, game, nethack
- Language: Dockerfile
- Homepage:
- Size: 29.3 KB
- Stars: 5
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[GitHub](https://github.com/jwodder/nethack-docker) | [Docker Hub](https://hub.docker.com/repository/docker/jwodder/nethack)
[NetHack](http://www.nethack.org) is a [roguelike](https://en.wikipedia.org/wiki/Roguelike) computer game in which a brave young `@` goes forth to acquire the Amulet of Yendor and dies horribly every(?) single time. It also has [a wiki](https://nethackwiki.com).
This repository contains Docker images for the latest versions of the game, built with the basic out-of-the-box configurations (so tty graphics only, no autopickup exceptions in 3.4.3, and no status hilites in 3.6.0), with the following exceptions:
- Mutable game data (high scores, save files, etc.) is stored in the `/data` volume separately from the static data so that the former can be preserved across containers.
- `root` (the user the image runs as) can enter debug/wizard mode without having to switch to a different \*nix account.
- Support for the new sysconf mechanism in 3.6 is only enabled in the `3.6.*-sysconf` images. This feature allows certain game parameters to be configured via the `/data/sysconf` file. See `sys/unix/sysconf` in the NetHack 3.6.\* source distribution for more information.
Tags and Dockerfiles
--------------------
* [`3.6.7`, `3.6`, `latest`](https://github.com/jwodder/nethack-docker/blob/master/3.6.7/Dockerfile)
* [`3.6.7-sysconf`, `3.6-sysconf`, `sysconf`](https://github.com/jwodder/nethack-docker/blob/master/3.6.7-sysconf/Dockerfile)
* [`3.6.6`](https://github.com/jwodder/nethack-docker/blob/master/3.6.6/Dockerfile)
* [`3.6.6-sysconf`](https://github.com/jwodder/nethack-docker/blob/master/3.6.6-sysconf/Dockerfile)
* [`3.6.5`](https://github.com/jwodder/nethack-docker/blob/master/3.6.5/Dockerfile)
* [`3.6.5-sysconf`](https://github.com/jwodder/nethack-docker/blob/master/3.6.5-sysconf/Dockerfile)
* [`3.6.4`](https://github.com/jwodder/nethack-docker/blob/master/3.6.4/Dockerfile)
* [`3.6.4-sysconf`](https://github.com/jwodder/nethack-docker/blob/master/3.6.4-sysconf/Dockerfile)
* [`3.6.3`](https://github.com/jwodder/nethack-docker/blob/master/3.6.3/Dockerfile)
* [`3.6.3-sysconf`](https://github.com/jwodder/nethack-docker/blob/master/3.6.3-sysconf/Dockerfile)
* [`3.6.2`](https://github.com/jwodder/nethack-docker/blob/master/3.6.2/Dockerfile)
* [`3.6.2-sysconf`](https://github.com/jwodder/nethack-docker/blob/master/3.6.2-sysconf/Dockerfile)
* [`3.6.1`](https://github.com/jwodder/nethack-docker/blob/master/3.6.1/Dockerfile)
* [`3.6.1-sysconf`](https://github.com/jwodder/nethack-docker/blob/master/3.6.1-sysconf/Dockerfile)
* [`3.6.0`](https://github.com/jwodder/nethack-docker/blob/master/3.6.0/Dockerfile)
* [`3.6.0-sysconf`](https://github.com/jwodder/nethack-docker/blob/master/3.6.0-sysconf/Dockerfile)
* [`3.4.3`, `3.4`](https://github.com/jwodder/nethack-docker/blob/master/3.4.3/Dockerfile)Setting Options
---------------
You can set NetHack options by specifying them directly in the environment variable `NETHACKOPTIONS`:docker run -it -e NETHACKOPTIONS="name:Rodney,disclose:+i +a +v +g +c +o" jwodder/nethack:3.6
or put the options in a `.nethackrc` file in your `/data` volume and set `NETHACKOPTIONS` to `"@"`:
echo 'OPTIONS=name:Rodney,disclose:+i +a +v +g +c +o' > /path/to/my/nethack/data/.nethackrc
docker run -it -v /path/to/my/nethack/data:/data -e NETHACKOPTIONS="@/data/.nethackrc" jwodder/nethack:3.6
or add the `.nethackrc` directly to root's home directory in a derived image and run that:
# Dockerfile:
FROM jwodder/nethack:3.6
RUN echo 'OPTIONS=name:Rodney,disclose:+i +a +v +g +c +o' > /root/.nethackrc# Command line:
docker build -t my_derived_nethack .
docker run -it my_derived_nethackIf using a `3.6.*-sysconf` image, the default option values can be set by placing them in `/data/sysconf`:
echo 'OPTIONS=name:Rodney,disclose:+i +a +v +g +c +o' >> /path/to/my/nethack/data/sysconf
docker run -it -v /path/to/my/nethack/data:/data jwodder/nethack:3.6-sysconf