Commit graph

363 commits

Author SHA1 Message Date
Griatch
8fe631d808 Fix problem with trying to pass non-text to msg(text=...). Resolves #996. 2016-06-15 08:11:00 +02:00
Griatch
25e1126809 Make a missing web_plugins.py module error more gracefully. 2016-06-12 22:55:05 +02:00
Griatch
64c74c41a1 Add a plugin mechanism for the webserver with settings.WEB_PLUGIN_MODULE. 2016-06-12 18:00:28 +02:00
Griatch
2d5e755362 Setting up a buffer for managing telnet character mode clients. Experimental. 2016-06-06 00:00:53 +02:00
Griatch
fd5ed02d7a Don't traceback if webclient don't pass the browser session with the wsurl, to make it easier on custom client implementations. 2016-06-02 09:03:18 +02:00
Griatch
410d04456c Some further fixes to the ajax client, as well as maybe fixing the i.d.l. bug manifesting from a poor msg input send. 2016-06-01 01:22:20 +02:00
Griatch
f04c82fa17 Implemented shared sessions between webclient and website - logging into either will also log in the player to the other. This is addresses the first point of #613. 2016-06-01 01:22:20 +02:00
Griatch
eebd41f46d Getting an improved version of the shared session system vaguely in shape. 2016-06-01 01:22:20 +02:00
Griatch
a31441b3ce First working version of the shared web login. 2016-06-01 01:22:19 +02:00
Griatch
81170b69d0 Added validationMade() to websocket protocol, to be able to parse the
incoming host information at connection (for getting the browser
session id directly from the path as ws://.../?csessid).
2016-05-31 15:36:48 +02:00
Griatch
7c3d072915 Fixed so inlinefuncs are only parses on the outgoing message path. 2016-05-26 14:56:09 +02:00
Griatch
fcfe87d24f Made client_options inputfunc recognize RAW/NOMARKUP and also fixed some other minor errors. 2016-05-25 00:05:20 +02:00
Griatch
df74380155 Some minor edge-case fixes when using a session as caller. 2016-05-24 23:09:16 +02:00
Griatch
f12c754225 Added RAW and NOMARKUP protocol options to all protocols, settable with @option. Resolves #978. 2016-05-24 22:52:20 +02:00
Griatch
79786b7173 Added NOPKEEPALIVE option to the Telnet protocol, for turning on/off the NOP keepalive for clients too lame to even handle a standard telnet NOP instruction. Implements #977. 2016-05-24 22:33:57 +02:00
Griatch
7e6cced01a Further cleanup of debug code, preparing for devel-branch merger. 2016-05-22 20:49:46 +02:00
Griatch
9f751d9334 Starting debug cleanups 2016-05-22 20:49:46 +02:00
Griatch
d48125c019 Made the AJAX/COMET protocol correctly report itself so it shows up in the who list 2016-05-22 20:49:46 +02:00
Griatch
089235e2ec Fixed the ajax websocket send of prompts, which should resolve #973. 2016-05-22 20:49:46 +02:00
Griatch
2e692cc639 Made 'idle' a default in the inputfuncs since this is sent by the webclient. settings.IDLE_CMD will still work but will work alongside idle, the latter will always work like a no-op. 2016-05-22 20:49:45 +02:00
Griatch
8f12dd83a3 Fixed an error in the MXP implementation and also removed the deprecated {-form for MXP. Resolves #966. 2016-05-22 20:49:45 +02:00
Griatch
01c6cbf5f0 Made the inlinefunc->inlinefuncs error appear in a safer location since it could fall away in some common situations. 2016-05-22 20:49:45 +02:00
Griatch
644cf9451f Removed deprecated non-nested {inlinefuncs, only accepting (). Changed the default name of the mygame/server/conf/inlinefunc.py to mygame/server/conf/inlinefuncs.py. Added deprecationwarning for the old name. 2016-05-22 20:49:45 +02:00
Griatch
68e5c4d283 Added a missing execute_cmd on the Session. It got lost after the inputfunc changes. 2016-05-22 20:49:44 +02:00
Griatch
8bf63885e2 Made some minor updates to the evmenu_login contrib, including adding a max number of password retries before disconnecting as well as fixing how client-exhoes are handled. Also made empty string return rather than 'b'. Also fixed an inconsistency in the Session.msg. 2016-05-22 20:49:44 +02:00
Griatch
41ad2aed5d Fixed the telnet WILL/WONT ECHO (the echo protocol option) to work as expected from the server side - by telling the client that the server WON'T echo, we are implicitly telling the client that IT should then do the echoing. This is a bit unintuitive and was defined in the wrong order. Fixed now. 2016-05-22 20:49:44 +02:00
Griatch
1a42ca8006 Fixed the sending of timeout text. Resolves #962. 2016-05-22 20:49:44 +02:00
Griatch
7e62f02f0a Implemented an AJAX keepalive from the Evennia side to make sure a dead AJAX connection (commonly if the user closes the window/browser without properly logging out), will eventually time out and log off the Player. Resolves #951. 2016-05-22 20:49:43 +02:00
Griatch
d5b3b59eb7 Made webclient aware of the server dropping (both websocket and AJAX). The server currently reacts to the websocket client dropping but not to the AJAX one (the latter forms ghost players) 2016-05-22 20:49:43 +02:00
Griatch
79f5a4a93a Added the ability to save protocol options on the player level. Implements #957. 2016-05-22 20:49:43 +02:00
Griatch
3c1245b1a6 Escaped the IRC username to avoid it being parsed for ANSI colors (keeping ansi parsing in normal text for now). Resolves #935." 2016-05-22 20:45:43 +02:00
Griatch
039bb0c540 Fixed the send button in the webclient; made the prompt command work with the webclient (still not displaying correctly) 2016-05-22 20:45:43 +02:00
Griatch
aa1b8357d8 Made a more elaborate echo when resetting the settings file. 2016-05-22 20:45:42 +02:00
Griatch
de177398aa Made sure to handle the default mudlet GMCP sends. 2016-05-22 20:45:42 +02:00
Griatch
4acea5a20d A rudimentary OOB input parser from the webclient, for testing. 2016-05-22 20:45:42 +02:00
Griatch
4ccd78a97e Put all gmcp commands under the Core module for simplicity and compatibility with all the other protocols. 2016-05-22 20:45:42 +02:00
Griatch
1ac81205c3 Completed tests of all GMCP/MSDP backend functions, including tickerhandler repeats and value monitoring, as per #924. 2016-05-22 20:45:42 +02:00
Griatch
39e3618ae5 Made Core.Commands.Get/get_inputfuncs work. 2016-05-22 20:45:41 +02:00
Griatch
a1c89d615e Fixed parsing in option command and inputfunction to properly handle options set in both ways. 2016-05-22 20:45:41 +02:00
Griatch
043be6dba4 Validating GMCP/MSDP protocol commands, first debugging run and fixes to make a few of the default inputfuncs work. Added INPUTDEBUG to the options dict, to echo input function errors directly. 2016-05-22 20:45:41 +02:00
Griatch
f1b97f633b Added LOCKDOWN_MODE, for shutting the server off from all external connections (for example while configuring, debugging or just taking a live server temporarily offline). 2016-05-22 20:45:41 +02:00
Griatch
4f02ec1cbe Implement the MSDP/GMCP wrappers for the backend inlinefuncs as per #924. It's not fully tested yet though. 2016-05-22 20:45:41 +02:00
Griatch
8709ffefb8 Fixed a non-functioning MXP call using the |-style format. 2016-05-22 20:45:41 +02:00
Griatch
42b9ac40f3 Some cleanup in inputfunc module. 2016-05-22 20:45:41 +02:00
Griatch
0ffec10dd0 Added MSDP/GMCP wrappers Inputfuncs as per #924. Not fully tested yet. 2016-05-22 20:45:41 +02:00
Griatch
d8bfb6d4a2 Inputfuncs for some more MSDP/GMCP commands. Still untested. 2016-05-22 20:45:40 +02:00
Griatch
ad158e1816 Fixed unittests for wclient branch 2016-05-22 20:45:40 +02:00
Griatch
3d6fa94d9a Updated client_options inputfunc to also return current settings over OOB. 2016-05-22 20:45:40 +02:00
Griatch
11ecdef7c8 Converted encoding setting to use protocol_flags rather than being stored on-session. Also renamed the 256 COLORS TTYPE setting to XTERM256 which is more accurate (and doesn't have a space) 2016-05-22 20:45:40 +02:00
Griatch
df674f687a Added GMCP-to-inputfunc name conversion as Module.Cmdname -> Module_CmdName. Also made Session.protocol_flags into a flat dict, by putting all TTYPE properties in the top level (the TTYPE key now only indicates if TTYPE has finished or not). Also started to convert the screenreader/enconding properties of the session into protocol_flags. (not fully working yet) 2016-05-22 20:45:40 +02:00