Mercurial > hg > rlgwebd
annotate README.txt @ 207:ffe22d88bea1
rlgwebd-stop: avoid the deprecated domain module.
Instead of catching connection errors with domains, install an error
listener on the socket before connecting.
| author | John "Elwin" Edwards |
|---|---|
| date | Fri, 27 Jan 2017 19:18:31 -0500 |
| parents | 34e1bc4fd6b2 |
| children | 2667aaad8e08 |
| 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 |
| 197 | 10 It requires the 'posix', 'pty.js', and 'websocket' modules. Currently, |
| 11 it expects them to be installed in the global location, which is | |
| 12 "/usr/lib/node_modules". It is planned to eventually use a different | |
| 13 location so that npm will not need to run as root. | |
| 14 | |
| 15 init | |
| 16 --- | |
| 17 RLGWebD now includes a systemd unit file, which is the recommended way | |
| 18 to run it. See below for more instructions. | |
| 19 | |
| 20 For other init systems, a shell script is provided. This is not really | |
| 21 a proper initscript, but it could form the basis of one. | |
| 22 | |
| 23 Configuration | |
| 24 --- | |
| 199 | 25 You can set some options by changing some variables in the first few |
| 26 lines of the rlgwebd script: | |
| 27 | |
| 28 Option Variable Default | |
| 29 | |
| 30 Chroot path chrootDir /var/dgl | |
| 31 Username dropToUser rodney | |
| 32 Server port httpPort 8080 | |
| 33 | |
| 34 If you change the chroot location, change it in the first line of the | |
| 35 Makefile too. | |
|
146
5baa2d4d798b
Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff
changeset
|
36 |
|
5baa2d4d798b
Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff
changeset
|
37 Installation |
|
5baa2d4d798b
Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff
changeset
|
38 --- |
| 151 | 39 RLGWebD expects to be run in a chroot used by dgamelaunch, and it makes |
|
146
5baa2d4d798b
Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff
changeset
|
40 some assumptions about the configuration. It expects the dgamelaunch |
|
5baa2d4d798b
Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff
changeset
|
41 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
|
42 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
|
43 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
|
44 patched to prevent it from deleting them. |
|
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 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
|
47 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
|
48 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
|
49 |
| 197 | 50 RLGWebD uses two separate programs written in C. sqlickrypt operates |
| 51 on the dgamelaunch user database. dglwatcher monitors the inprogress | |
| 52 directories. Run "make" to build both of them. | |
|
146
5baa2d4d798b
Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff
changeset
|
53 |
|
5baa2d4d798b
Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff
changeset
|
54 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
|
55 mknod CHROOT/dev/urandom c 1 9 |
|
5baa2d4d798b
Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff
changeset
|
56 |
| 197 | 57 Running "make install" will: |
| 58 Copy the Web assets into the chroot | |
| 59 Copy the C programs and the libraries they need into the chroot | |
| 60 Install the main RLGWebD script in /usr/local/bin | |
| 61 Place the systemd unit file in the proper directory | |
| 178 | 62 |
| 197 | 63 If you don't use systemd, or want to change the installation locations, |
| 64 you will have to edit the Makefile. | |
| 65 | |
| 66 You will still need to run "systemctl enable rlgwebd" to make the | |
| 67 server start on boot, and "systemctl start rlgwebd" to make it start | |
| 68 immediately. | |
| 178 | 69 |
| 70 Starting and stopping RLGWebD | |
|
146
5baa2d4d798b
Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff
changeset
|
71 --- |
| 197 | 72 If you are using systemd, "systemctl start" and "systemctl stop" should |
| 73 work as with any other service. | |
|
146
5baa2d4d798b
Add a README though it's still incomplete.
John "Elwin" Edwards
parents:
diff
changeset
|
74 |
| 197 | 75 If you are using the initscript, running it with no arguments will |
| 76 start RLGWebD. Stop by running it with 'stop' as an argument. (This | |
| 77 requires socat to be installed.) | |
| 151 | 78 |
| 79 webtty | |
| 80 --- | |
| 199 | 81 "webtty" is a Node app which uses the terminal emulator to run a shell. It |
| 151 | 82 includes NO SECURITY WHATSOEVER and should only be used for testing the |
| 83 terminal emulator. Copy index-sh.html to index.html before running it. | |
| 199 | 84 |
| 85 Copyright status | |
| 86 --- | |
| 87 All files in this project are in the public domain. |
