47 lines
1.6 KiB
Text
47 lines
1.6 KiB
Text
===== 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.)
|