annotate README.txt @ 148:bac9c3b01692

Check that the ttyrec stream has an fd before passing it to fstat. The stream might not have an fd, presumably if the open isn't complete. Calling fstat then causes crashes.
author John "Elwin" Edwards
date Mon, 06 Jan 2014 09:11:35 -0500
parents 5baa2d4d798b
children 9f9bc41d5006
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
146
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
1 ===== RLGWebD =====
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
2
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
3 RLGWebD is a node.js app that enables playing roguelike games in the
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
4 browser. It is intended to be compatible with dgamelaunch.
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
5
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
6 Node
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
7 ---
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
8 RLGWebD currently works with Node v0.10.
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
9
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
10 It requires the 'posix', 'pty.js', and 'websocket' modules.
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
11
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
12 Installation
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
13 ---
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
14 RLGWebD expects to be run in a dgamelaunch installation, and it makes
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
15 some assumptions about the configuration. It expects the dgamelaunch
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
16 playground to be at /dgldir inside the chroot. It expects the
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
17 in-progress files to be in /dgldir/inprogress/<gamename>. RLGWebD
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
18 creates in-progress files in those locations, and dgamelaunch must be
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
19 patched to prevent it from deleting them.
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
20
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
21 It needs the devpts filesystem mounted inside the chroot. This can be
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
22 done with a line in /etc/fstab like the following:
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
23 devpts CHROOT/dev/pts devpts newinstance,ptmxmode=666 0 0
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
24
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
25 It creates a socket in the filesystem which is used to control the
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
26 server.
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
27
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
28 sqlickrypt
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
29 ---
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
30 RLGWebD uses a separate program written in C to operate on the
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
31 dgamelaunch user database. Compile this with:
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
32 cc -o sqlickrypt sqlickrypt.c -lcrypt -lsqlite3
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
33
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
34 The binary should be placed in /bin inside the chroot. It requires
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
35 libcrypt and libsqlite3 to be installed in the chroot. Depending on
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
36 your system, these may have other dependencies. Make sure to check by
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
37 running ldd.
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
38
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
39 sqlickrypt needs /dev/urandom to exist in the chroot. Run as root:
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
40 mknod CHROOT/dev/urandom c 1 9
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
41
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
42 Starting and stopping
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
43 ---
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
44 Run the 'rlgwebd' shell script as root.
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
45
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
46 Stop by passing 'stop' as an argument. (This requires socat to be
5baa2d4d798b Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff changeset
47 installed.)