Commit graph

342 commits

Author SHA1 Message Date
Griatch
0b5e2b94ff Starting the move of typeclass methods off *DB models and onto the typeclasses. 2014-12-22 22:46:58 +01:00
Griatch
a93d318121 Starting to remove obj.typeclass references. Server now starts and stops cleanly, but not yet tested with actual gameplay. 2014-12-22 21:46:52 +01:00
Griatch
2cc4315941 Removed stale remnant of PlayerChannelConnection from comm manager. 2014-12-22 16:30:06 +01:00
Griatch
6ef4467203 Added session object to kwarg of inlinefuncs. This means that the new call signature for inlinefuncs is funcname(text, *args, **kwargs), where **kwargs are only used for engine-related things (currently only session=session). 2014-10-26 10:46:22 +01:00
Griatch
3b9d49ef35 Merge branch 'evformat' 2014-10-25 13:51:27 +02:00
Griatch
46edc6eef6 Added inlinefunc, an inline text parser for custom dynamic functions,
as per #520.
2014-10-25 13:37:25 +02:00
Griatch
573847d80a Better handles very slow mud clients not sending line breaks together with their data input; this avoids a race condition where Evennia is much faster than the client. See #606. 2014-10-24 10:26:59 +02:00
Griatch
0cd4e2188a Corrected the session count when dropping connections. 2014-10-23 10:01:43 +02:00
Griatch
263092b4c9 Added TCP keepalive to telnet and webclient, to make sure to (eventually) catch dead connections. Should help #498, but should test on demo before closing. 2014-10-20 23:40:01 +02:00
Griatch
b8dfce9cef Made also the prompt parsed for MXP tags and added html parsing for the prompt in the webclient. See #599. 2014-10-20 22:38:06 +02:00
Griatch
3eb347a076 Fixes a side effect of the #583 solution only showing up in certain connection timing combinations related to which protocols were supported in a given client. The portal<->server handhshake exchanged the session info an extra round depending on the internal timing of the connection. Also fixed a handshake bug in the MXP initialization. 2014-10-20 22:16:30 +02:00
Griatch
36629a8bdb Fixed a race condition when the telnet protocol synced with the server with a delay (such as when the connecting client didn't respond to all protocol request tokens. This could lead to the sync overwriting already updated session flags, notably the puppet id (puid). Resolves #583. 2014-10-19 19:11:56 +02:00
Simon Vermeersch
fb7ac49253 Escape <, > and & when MXP is enabled. 2014-10-14 18:27:58 +02:00
Griatch
5f4e2065de Correctly updated handshake countdown in telnet. 2014-10-06 08:15:01 +02:00
Griatch
63a2d84a8f Made clients not supporting MXP correctly clean the MXP tags. 2014-10-06 08:06:47 +02:00
Simon Vermeersch
cde64692ff Adds in support for links 2014-10-05 17:44:35 +02:00
Simon Vermeersch
737441b7e6 Allows inputting of empty lines. 2014-09-28 22:27:02 +02:00
Griatch
062a545a97 Changed at_cmdset_get() hook to at_cmdset_get(**kwargs). This allows for the possibility to control dynamic generation of cmdsets, for example to force Exit cmdsets to be rebuilt. The aliasing command now uses this. Resolves #563. 2014-09-20 10:26:59 +02:00
Griatch
1b44d9b2ed Fixed a bug in the lockhandler error handling. Resolves #564. 2014-09-19 21:15:50 +02:00
Duarte Cordeiro
b5507b0fcb Fixed keyword name and arguments for the telnet option ECHO. 2014-09-18 15:29:58 +01:00
Duarte Cordeiro
efd2eeafb8 Added telnet option ECHO, so that server can request no local echo on client. Related with feature request #540 2014-09-18 14:55:56 +01:00
Griatch
bb36f2cb76 Changed to Django1.7. Django 1.6 no longer supported. To change, upgrade django to 1.7+ and then run manage.py migrate, possibly followed by manage.py migrate --fake for objects and players. 2014-09-17 10:49:42 +02:00
Griatch
0bf4f3cfea Removed all old south migrations, leaving migration dirs empty for future django1.7 migrations. 2014-09-17 09:45:41 +02:00
Griatch
c4c662b33e Moved unicode/str conversions to sessionhandler level in order to still allow message_all session messages without triggering unicode tracebacks (such as when server restarts). 2014-09-10 09:33:44 +02:00
lu yijun
dbbacb4bb3 This fixes issue #569 2014-09-07 02:22:12 +08:00
Griatch
19d6d4ff9e Fixed so multiple webserver interfaces don't kill the websocket client connection. Cleaned up some comments in settings.py. 2014-08-23 00:07:47 +02:00
Griatch
4e2dfef321 Added escaping of unicode text input of ASCII control characters and extended characters as per #551. 2014-08-21 08:53:01 +02:00
Griatch
2945454bf8 Forgot to add the naws.py file. :) 2014-08-20 10:25:24 +02:00
Griatch
9af3b44e1c Added NAWS negotiation to telnet protocol, for negotiating the client width/height. Use session.get_client_size() to get a tuple of (width, height) for the current output window. Not currently supported by the webclient. Also added options settings.CLIENT_DEFAULT_WIDTH and -HEIGHT for having a fallback. Note that none of Evennia's default systems currently use this width information. 2014-08-20 10:21:11 +02:00
Simon Vermeersch
1c632e2c35 Correctly sends the prompt in the telnet handler and also sends it after any other text 2014-08-18 20:16:49 +02:00
Griatch
831afe79b3 Some cleanup of comments 2014-08-14 11:01:49 +02:00
Griatch
bb808174e3 Changed session sync timeout to 2 seconds. 2014-08-14 10:56:59 +02:00
Griatch
31687b8a05 Made telnet protocols resync with server once their handshakes are complete. Also changed default (pre-TTYPE) to be ansi+xterm256. Set a 5-second timeout for handshakes. This pertains to issue #434. 2014-08-14 10:28:50 +02:00
Griatch
ddaadb9825 Added TTYPE xterm256 enforcing for the 'BeipMu' client (>v2.00.206). 2014-08-13 09:58:19 +02:00
Griatch
40e9a149d6 Added prompt functionality to webclient using the msg 'prompt' keyword functionality 2014-08-07 07:53:20 +02:00
Griatch
6ebde92448 Added prompt keyword to msg() method. Inspired by code by titeuf87 in #543. 2014-08-06 20:00:51 +02:00
Griatch
306ce17022 Fixed some lingering uses of sessid as a non-handler. 2014-08-05 09:16:00 +02:00
Griatch
1e41be797b Run migrations! First version of MULTISESSION_MODE=3. @ic/@ooc not working yet. 2014-08-04 15:32:48 +02:00
Griatch
3819c97b06 Some cleanup and changing to conform to PEP8 standard. 2014-07-10 20:29:16 +02:00
n0q
d43c003cc8 Guest cleanup and server hooks
Outstanding guest objects (say, from crashes) are now cleaned up at
startup.

Copied the at_server_startstop.py hooks directly into Server object, and
set them to reference SERVER_STARTSTOP_MODULE. This seemed to be the
cleanest way to go about things.
2014-07-07 23:37:11 -04:00
Griatch
1874300ad1 Added at_post_disconnect() hook to Player, to allow for clean deletion of players at disconnect (for example for Guest-account implementation) 2014-07-06 16:20:50 +02:00
Griatch
e6950aadf2 Changed how lazy-loading of handlers work, using a werkzeug recipe. Much more efficient now. 2014-07-06 13:10:03 +02:00
Kelketek Rritaa
7499932337 Removed creation of admin media symlink. Fixed media handling. 2014-06-29 08:23:12 -05:00
Kelketek Rritaa
16bcc3c9f0 Restructured web resources to better manage static files. 2014-06-28 16:28:14 -05:00
Griatch
c60a5fdea1 Fixed and refactored OOB system and tested with new websocket client 2014-06-28 18:10:20 +02:00
Griatch
9ba212c264 Working on the OOB system, somewhat unstable at the moment. 2014-06-28 18:10:20 +02:00
Griatch
d59500f574 Updated to a working websocket implementation of webclient. 2014-06-28 18:10:20 +02:00
Griatch
ca1e36da5f First working test version of oob support in the websocket client. 2014-06-28 18:10:20 +02:00
Griatch
a9cf081494 First make of a testing method for oob 2014-06-28 18:10:20 +02:00
Griatch
ede6634081 Converted webclient to use websockets on port 8001. Ideally one would make it so the ajax and websocket clients work under the same django wrapper, but for now this functionality is elusive. 2014-06-28 18:10:20 +02:00