Webtiles Server for NetHack
This is NetHack's webtiles server based on NetHack tty port.
It's a HTTP server that allows users to play NetHack remotely through a web browser.
Supports both desktop and mobile play.
Desktop | Mobile |
---|---|
archive
:dumplog, ttyrec, and rcfile
dev
:Scripts used for project development and build
games
:The built game binary and save files
sources
:Original NetHack source path
web
:All web related files
webtiles
:NetHack webtiles port code
- Linux environment
- Node.js 10.x,
packages.json
dependencies - Everything you need to build NetHack.
- Other additional dependencies (
dev/install-jsonc.sh
,dev/install-node-dependency.sh
)
git clone https://github.com/refracta/NetHack-Webtiles -b develop
cd NetHack-Webtiles
# It automatically configures the environment. (prerequisites, other require files)
sh dev/env-debian.sh
PORT=8080 npm start
Tested on WSL Ubuntu 18.04, 20.04.
git clone https://github.com/refracta/NetHack-Webtiles -b develop
cd NetHack-Webtiles
sh dev/build-docker.sh
# <↓ in the Docker tty ↓>
sh dev/install-node-dependency.sh
sh dev/init-nginx.sh
service nginx start
cd sources/nh366/
sh build.sh
cd ../../
npm start
cd games/sources/nh366
sh build.sh
You can speed up the build by modifying the j flag in build.sh.
- Clone repository from develop branch and create a new branch
git checkout https://github.com/refracta/NetHack-Webtiles -b name_for_new_branch
- Make changes and test
- Submit Pull Request with comprehensive description of changes
You can talk and discuss development on the #dev channel of the NetHack Live Discord server.
- Implementation of registration and login
- Basic web play implementation
- Implementation of the feature to watch the game
- Game room chat, Public chat feature implementation
- Add RC modification on the web
- Implement all desktop interfaces
- Mobile web support
- Responsive web part refactoring
- Front-end code migration (React)
- Integration with dgamelaunch
- Implement the send mail feature(Mail daemon) to be available on the web
- Add support for other porting versions such as SLASH'EM-Extended, UnNetHack, etc.
- Add Add-on module support
- Add sound effect support (WebRC or Add-on)
- Implement NetHack multilingual translation Add-on