RLGWebD
Find a file
John "Elwin" Edwards d5b4cb5de0 Implement another control sequence.
CSI c queries terminal attributes.
2014-01-25 22:10:01 -08:00
about.html Bump the version number. 2012-09-12 17:33:27 -07:00
bell.svg Put this project under version control, finally. 2012-05-06 08:45:40 -07:00
index-rlg.html Use SVG for the bell icon instead of PNG. 2013-10-31 20:44:35 -07:00
index-sh.html Use SVG for the bell icon instead of PNG. 2013-10-31 20:44:35 -07:00
options.html Options-related UI improvements. 2012-09-12 16:03:09 -07:00
options.js Options-related UI improvements. 2012-09-12 16:03:09 -07:00
README.txt Add a README though it's still incomplete. 2014-01-01 14:11:40 -05:00
rlgterm.js RLG-Web client: store login key in DOM Storage. 2012-08-27 13:43:12 -07:00
rlgwebd RLGWebD: use NODE_PATH to find modules. 2013-08-14 08:04:36 -07:00
rlgwebd.js Check that the ttyrec stream has an fd before passing it to fstat. 2014-01-06 09:11:35 -05:00
shterm.js WebTTY: use WebSockets when possible. 2013-07-22 07:51:53 -07:00
sqlickrypt.c sqlickrypt: add support for salted SHA-512 passwords, and fix NULL bug. 2013-10-20 21:19:13 -07:00
style-rlg.css Options-related UI improvements. 2012-09-12 16:03:09 -07:00
termemu-keys.js Improve the probability of detecting numpad 5. 2012-08-12 08:22:55 -07:00
termemu.js Implement another control sequence. 2014-01-25 22:10:01 -08:00
tty.css Improvements to the keyboard. 2012-06-23 17:11:51 -07:00
webtty.js WebTTY: use WebSockets when possible. 2013-07-22 07:51:53 -07:00

                        =====   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 dgamelaunch installation, 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.

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.)