Mercurial > hg > rlgwebd
view README.txt @ 163:0f6da35b27a0
RLGWebD: overhaul the list of current games.
The /status WebSocket now only sends a complete list when opened. At
40-second intervals, it sends a list of games that have been updated in
the last minute. The client now uses this to keep its own list.
author | John "Elwin" Edwards |
---|---|
date | Sun, 04 Jan 2015 16:55:57 -0500 |
parents | 9f9bc41d5006 |
children | b5df69715001 |
line wrap: on
line source
===== RLGWebD ===== RLGWebD is a node.js app that enables playing roguelike games in the browser. It is intended to be compatible with dgamelaunch. Node --- RLGWebD currently works with Node v0.10. It requires the 'posix', 'pty.js', and 'websocket' modules. Installation --- RLGWebD expects to be run in a chroot used by dgamelaunch, and it makes some assumptions about the configuration. It expects the dgamelaunch playground to be at /dgldir inside the chroot. It expects the in-progress files to be in /dgldir/inprogress/<gamename>. RLGWebD creates in-progress files in those locations, and dgamelaunch must be patched to prevent it from deleting them. It needs the devpts filesystem mounted inside the chroot. This can be done with a line in /etc/fstab like the following: devpts CHROOT/dev/pts devpts newinstance,ptmxmode=666 0 0 It creates a socket in the filesystem which is used to control the server. The following files need to be copied into CHROOT/var/www: about.html bell.svg options.html options.js rlgterm.js style-rlg.css termemu.js termemu-keys.js tty.css Copy index-rlg.html to CHROOT/var/www/index.html. sqlickrypt --- RLGWebD uses a separate program written in C to operate on the dgamelaunch user database. Compile this with: cc -o sqlickrypt sqlickrypt.c -lcrypt -lsqlite3 The binary should be placed in /bin inside the chroot. It requires libcrypt and libsqlite3 to be installed in the chroot. Depending on your system, these may have other dependencies. Make sure to check by running ldd. sqlickrypt needs /dev/urandom to exist in the chroot. Run as root: mknod CHROOT/dev/urandom c 1 9 Starting and stopping --- Run the 'rlgwebd' shell script as root. Stop by passing 'stop' as an argument. (This requires socat to be installed.) webtty --- webtty.js is a Node app which uses the terminal emulator to run a shell. It includes NO SECURITY WHATSOEVER and should only be used for testing the terminal emulator. Copy index-sh.html to index.html before running it.