Commit graph

36 commits

Author SHA1 Message Date
John "Elwin" Edwards
520226a343 rglterm.js: reduce the server polling.
For roguelike games, most output will directly result from and follow
immediately after input from the user.  In other situations, data
should not be expected.
2012-06-05 22:33:41 -07:00
John "Elwin" Edwards
dec7bc108a rlgwebd.js: handle HTTP HEAD properly.
Prevent a message body from being sent in response to HTTP HEAD.
2012-06-05 20:13:47 -07:00
John "Elwin" Edwards
44ccfd87a3 RLG-Web: indicate alpha status.
Add some alpha glyphs to index-rlg.html.
2012-06-05 14:55:33 -07:00
John "Elwin" Edwards
e0bbee0242 rlgwebd.js: add a status interface.
The RLG-Web server now makes its status and the list of current games
available to a GET on /status.
2012-06-05 14:51:42 -07:00
John "Elwin" Edwards
37e6447094 rlgwebd.js: improve MIME types.
Respond with the proper MIME type for JSON, and identify HTML as using
the UTF-8 charset.
2012-06-05 09:31:49 -07:00
John "Elwin" Edwards
6b209976d6 rlgwebd.js: listen on any address
The RLG-Web server now binds to any address instead of 127.0.0.1 only.
2012-06-05 09:22:17 -07:00
John "Elwin" Edwards
7e352fcc20 rlgwebd.js: fix reference error
httpServer needs to be in the global scope so shutdown() can find it.
2012-06-04 21:34:57 -07:00
John "Elwin" Edwards
bb17dd58a2 rlgwebd.js: become a real daemon.
The RLG-Web server now forks off, writes to a logfile, and reads from a
control socket.  Unfortunately it can't handle the problem of another
rlgwebd process already running.  Maybe a lockfile would help.
2012-06-04 20:45:27 -07:00
John "Elwin" Edwards
d0e3b1da2f rlgwebd.js: read commands from the console
The RLG-Web server can now be controlled with commands sent to stdin.
Currently, the only one implemented is "quit".  Some improvements to
the shutdown process were also made.
2012-06-04 14:21:41 -07:00
John "Elwin" Edwards
8599ec081d rlgwebd.js: add timestamps to log messages.
Wrap console.log() with the tslog() function, which prepends timestamps.
Clean up some of the messages as well.
2012-06-04 10:19:36 -07:00
John "Elwin" Edwards
6ed3b7c2ce sqlickrypt.c: finish switching to parametrized queries.
sqlickrypt should now be injection-resistant.
2012-06-03 18:26:11 -07:00
John "Elwin" Edwards
41c84bcd40 sqlickrypt.c: begin converting to parametrized queries.
Switch the check() function to use parametrized SQL queries instead of
contructing statements with strcat(), for obvious reasons.
2012-06-03 17:08:40 -07:00
John "Elwin" Edwards
53d5e7dd0d Implement message order correction on the server side.
rlgwebd can now correct for the client's messages arriving in the wrong
order, in theory.  I haven't found a good way of testing it yet.
2012-05-24 11:36:57 -07:00
John "Elwin" Edwards
c1856a6184 Fix some typos.
Some code copied and pasted without updating the variable names was
causing crashes.
2012-05-23 14:28:47 -07:00
John "Elwin" Edwards
018adf9acf RLG-Web client: some cleanup
Separate RLG-specific CSS into its own file, fix some typos.
2012-05-23 07:46:08 -07:00
John "Elwin" Edwards
2d86b63c98 RLG-Web: set up user directories on registration
Have RLG-Web create various user directories when a new user registers,
as dgamelaunch does.  Also add some debugging messages if registration
fails.
2012-05-22 21:44:38 -07:00
John "Elwin" Edwards
e36f058daf RLG-Web: add user registration
Update the server and client sides of RLG-Web to make use of the new
registration feature of sqlickrypt.
2012-05-22 20:54:33 -07:00
John "Elwin" Edwards
dfbd2a71d0 sqlickrypt.c: add the ability to register new users.
When sqlickrypt is run with the option "register", it expects a
username, password, and email, and adds them to the database if the
username is not already in use.
2012-05-21 21:40:56 -07:00
John "Elwin" Edwards
e7bcd4be4a rlgwebd: switch to dgamelaunch's SQLite database.
The quickrypt utility is replaced with sqlickrypt, which takes a username
and password pair and checks them against the SQLite password database
used by dgamelaunch.  This will be more extensible to using rlgwebd to
register, change passwords, etc.
2012-05-20 15:52:07 -07:00
John "Elwin" Edwards
94f8630eb4 RLGWeb: switch to JSON protocol.
Port the JSON communication from WebTTY to RLGWeb.  Fixing out-of-order
messages is still not implemented on the server side.  Terminal size is
still hard-coded.  Unused code is still lying around.
2012-05-17 09:32:19 -07:00
John "Elwin" Edwards
db55f3f83c webtty.js: check message order.
Implement checking the numbers of the client's messages on the server.
Fixing out-of-ordering isn't implemented because the problem hasn't
been observed yet, though it likely will once actual network transit
is involved.
2012-05-15 16:26:28 -07:00
John "Elwin" Edwards
c7995adad5 shterm.js: Client-side message ordering
Make sure data from the server is written to the terminal emulator in
the correct order.  Out-of-order messages are stored in a queue until
their turn comes.
2012-05-15 09:30:12 -07:00
John "Elwin" Edwards
090e02ed59 webtty: switch upward protocol to JSON
Switch the client-to-server messages from the HTML forms format to
JSON (for the webtty app).  Message numbers are sent but not yet used.
2012-05-13 20:50:13 -07:00
John "Elwin" Edwards
32127f8b77 shterm.js: Add some debugging messages. 2012-05-13 08:47:35 -07:00
John "Elwin" Edwards
b6bf7038ca webtty: switch all server responses to JSON. 2012-05-11 13:33:48 -07:00
John "Elwin" Edwards
71d43603a9 webtty: begin experimenting with JSON protocol. 2012-05-09 16:36:11 -07:00
John "Elwin" Edwards
02cc454ad1 Make the emulator screen resizable. 2012-05-09 13:38:05 -07:00
John "Elwin" Edwards
5b0be4c820 Call the dgl replacement rlgwebd instead of webttyd. 2012-05-07 16:08:59 -07:00
John "Elwin" Edwards
f29453c763 WebTTY: switch terminal size to 80x25. 2012-05-07 16:03:10 -07:00
John "Elwin" Edwards
f40a08f3ef Put common key tables into a common file. 2012-05-07 13:08:24 -07:00
John "Elwin" Edwards
797e84ed08 Add support for the delete key. 2012-05-07 12:50:02 -07:00
John "Elwin" Edwards
ed87e67faa Client: don't assume the terminal is 24x80. 2012-05-07 11:09:14 -07:00
John "Elwin" Edwards
e6cb51d8bf webtty.js: remove tty-module code. 2012-05-06 15:22:13 -07:00
John "Elwin" Edwards
5d2a367e1d webtty.js: set up the environment and working directory. 2012-05-06 15:06:32 -07:00
John "Elwin" Edwards
508b41b488 Add a few comments. 2012-05-06 09:04:14 -07:00
John "Elwin" Edwards
8dec6dff87 Put this project under version control, finally. 2012-05-06 08:45:40 -07:00