Griatch
eb1044d7a1
Refactored AMP and server/portalsessionhandler, moving allmost all logic to the sessionhandlers instead. The old
...
reason for having so much logic was due to circular import problems, but with the use of delayed imports this is
not a problem for the sessionhandler anymore. Makes for cleaner and much easier to navigate code.
2013-02-17 12:31:58 +01:00
Griatch
1f676eda60
Some more fixes to the commands.
2013-02-16 21:26:59 +01:00
Griatch
e345d659fd
Merge.
2013-02-09 11:21:38 +01:00
Kelketek
d5129b5065
Updated X-Forwarded-For to better conform to spec (multiple proxies).
2013-02-06 07:41:22 -06:00
Kelketek
90163734aa
Added support for X-Forwarded-For.
2013-02-06 01:07:25 -06:00
Griatch
b82a75d816
Fixed initial_setup and set up the _playable_characters attribute on all players, for handling multi-accounts. Still some issues with how the character's permissions is accessed.
2013-02-03 20:04:40 +01:00
Griatch
b26c3ab872
Fixed bugs and allowed for logging in using one character. Added a simple command for creating a new character.
2013-02-03 17:00:46 +01:00
Griatch
f1767251c6
Can now log in to a character selection screen. Lots more testing required before one-char-per-session works.
2013-02-03 00:25:06 +01:00
Griatch
00584365ae
Added sessids to command objects and changed how the "login"-hooks are called. Those will probably have to be changed to better names, at least for characters.
2013-02-02 22:41:56 +01:00
Griatch
231af4a351
Continued work on multi-char-per-account. Added a new default login point. Still need to add sessid to commands.
2013-02-02 15:55:42 +01:00
Griatch
261454ff0a
First steps towards a full account system (multiple Character with one Player); added the Player-level methods.
2013-01-26 21:20:31 +01:00
Griatch
ea545d7ff3
Added the ability to deactivate local caching, by use of the settings.GAME_CACHE_TYPE variable. A temporary solution for working with multiple processes. Will also be useful for debugging and profiling.
2013-01-09 19:43:46 +01:00
Griatch
5ef92b6bf8
Some cleanups, properly marking the OOB stuff as WIP still. OOB is progressing but not yet functional or in its final form.
2013-01-07 15:47:41 +01:00
Griatch
58c010ef46
Some further work on the OOBhandler mechanism.
2013-01-04 10:35:29 +01:00
Griatch
b0b0fa7983
First, untested version of the OOBhandler mechanism.
2013-01-03 09:18:49 +01:00
Griatch
a1a2c99d1e
Fixed a traceback if logging out from the unloggedin screen.
2012-12-11 23:30:30 +01:00
Griatch
28c625c12c
Re-activated connect-channel again, called from hooks. Fixed some bugs and minor things to give more control over how messages sent to channels are handled.
2012-11-13 21:24:05 +01:00
Griatch
8654d8cc48
Further migrated script caches to the central cache location, removing old cruft.
2012-11-08 19:29:57 +01:00
Griatch
e4382e3e8a
Fixed a regression in has_attribute caused by changing the location of caches. Resolves Issue 328.
2012-11-07 20:22:46 +01:00
Griatch
d2d9953f94
Cache changes: Moved all caches (except idmapper) to central caching module. This makes it easier to overview cache memory usage (and clean it) as well as plug-in external cache mechanisms.
2012-11-01 11:20:07 +01:00
Griatch
92f6b06626
Added new start/stop hooks to server. These are read differently depending on if the server is reloaded or reset/shutdown. OBS: If you have already implemented your own version of AT_STARTSTOP_MODULE, you need to add stubs for new hooks. You can find the required hooks in gamesrc/conf/examples/at_startstop.py.
...
gamesrc/conf/examples
2012-10-28 22:02:22 +01:00
Griatch
ee7a175bf4
Fixed a bug in telnet protocol that stripped wrong characters at the end. Resolves Issue 318.
2012-10-28 10:37:14 +01:00
Griatch
ec46465656
Implemented ansi-colour backgrounds in webclient. Added a new @color command for displaying colour spaces. Also changed a number of other features outlined in Issue 309.
2012-10-24 21:41:07 +02:00
Griatch
e534d5f9a0
Made sure to kill color at the end of msg:es. This makes telnet/ssh consistent with webclient output.
2012-10-24 13:56:45 +02:00
Griatch
86c5553208
Added msg- and data buffering to AMP protocol. This handles the rare cases when the AMP limit of 65535bytes/message becomes an issue (such as when viewing long lists or @py output. Test with @py self.msg("-"*65536). Resolves Issue 294.
2012-10-20 15:40:34 +02:00
Griatch
c8ff1754fc
Explicitly warning and disabling IPv6-format interfaces. It's coming in Twisted, but the exact status is a bit hard to determine - and it's definitely not available for only one older revision of Twisted. So disabling. We'll revisit this down the road when Twisted support is more prevalent. This closes Issue 260.
2012-10-14 22:32:05 +02:00
Griatch
592bc26b99
Added remote function call abilities to AMP protocol, courtesy of patch by user Shell.
...
This allows for Server to call functions on Portal and vice-versa. Some rewrites and
cleanup done before applying /Griatch.
2012-10-14 11:53:34 +02:00
Griatch
a4adc035f2
Last commit introduced a silly typo. Fixed.
2012-09-30 16:08:00 +02:00
Griatch
57de91a234
Added an AttributeError check in perm_above lockfunc, to catch instances of checking permissions before player logged in.
2012-09-30 16:01:21 +02:00
Griatch
3c87b66624
Set AMP interface strings to listen to local interfaces only by default. Also added AMP_INTERFACE setting. Resolves Issue 257.
2012-09-28 22:40:12 +02:00
lagos
965be0a84f
Fixes for Chrome clients of webclient.
...
webclient.py now maintains a mapping of suid->single request as opposed to a mapp of
suid->list of requests. Since the evennia_webclient.js client only has one valid
request outstanding at all times, this should be safe.
2012-09-27 23:16:09 -07:00
Griatch
b2028511f5
Fixing a bug with not calling the disconnect hook when killing the client uncleanly. Resolves Issue 258. Thanks to user Zeta142125 for the help.
2012-09-25 07:53:11 +02:00
Griatch
d535d77811
Restructed terminal output from Server and Portal to allow external plugin-services to cleanly add their info at startup.
2012-09-22 23:18:29 +02:00
Griatch
93d95377ce
Shifting ProcPool out of src and into a contrib, using the service plugin system.
2012-09-22 20:40:30 +02:00
Griatch
83fa9397d5
Added a plugin system for server and portal. This allows for plugging in your own services without having to edit any modules in src/server/. Also made some various cleanups and fixes.
2012-09-18 22:52:33 +02:00
Griatch
21137cc830
Run Migrations! Added a is_connected field to Players to be able to more conveniently access online status from out-of-process (resolves issue 251). Also cleaned up and added features to the default website.
2012-09-17 19:19:20 +02:00
Griatch
d1e0836d23
Minor fix to evaluate with _return in ProcPool execution.
2012-09-03 23:47:50 +02:00
Griatch
ffcf4b3c2f
Added cache-resyncing to ProcPool. This makes sure to update all affected object caches
...
whenever the subprocess returns (this is potentially not good enough for long-running scripts,
will have to ponder that one). Made ProcPool work with MySQL (where it works much better). Tested and fixed many
small bugs.
2012-09-03 01:11:14 +02:00
Griatch
e25ac1e46b
Changed run_async to properly relay remote error messages to the user-supplied errback.
2012-09-02 16:14:08 +02:00
Griatch
af99a80b4b
Added procpool functionality for sending arbitrary data over the wire (including
...
nested databaseobjects). Rules are similar to Attribute saving.
Adding a missing component to the procpool setup.
2012-09-02 12:53:11 +02:00
Griatch
f5a889e40c
Added new process-pool runner based on AMPoule (integrated into Evennia).
...
This allows e.g. utils.utils.run_async to offload long-running functions
to a completely different subprocess entirely, offering real parallelism.
Implementation is still experimental, notably not all objects can be
transferred safely across the wire; also there is no concept of
updating caches yet - so adding an object from the subprocess side
will not be known in the main thread yet (since caches cannot yet tell
the underlying database has changed).
2012-09-02 10:10:22 +02:00
Griatch
ca0920e635
Added "raw_string" (unformatted, no stripping) as a property on commands, inspired by work by user Kelketek.
2012-06-23 11:03:16 +02:00
Griatch
f0f240b7ce
Fixed a bug in sessionhandler that erroneously caused Portal sessions to not be deleted properly at user @quit. This caused the session to be copied back to the Server side after a reload (caused "ghost" connections in e.g. the "who" command). Resolves Issue 244.
2012-06-20 23:48:19 +02:00
Griatch
9e2ad59663
Added a fix for running with postgresql-psycopg2. This does not actually resolve the problem as much as circumvent it, so I'm not marking Issue 115 as closed just yet.
2012-06-16 14:51:22 +02:00
Griatch
f15e26c54a
Fix of migration to remove a bogus FATAL error during migration. This also fixes a one error in the chain of errors reported by postgresql databases (those still fail on a latter point, alas).
2012-06-14 21:10:40 +02:00
Griatch
4c849ec351
Cleaned and updated the i18n strings for various server-core system. Removed i18n for all strings that are only visible on stdout or in logs. Still missing i18n on certain specific things such as model field help and attribute warnings. Updated Swedish translation to match.
2012-06-14 02:43:35 +02:00
Griatch
80da420ee7
Merge, with input and tweaks from discussion with lagos and Kelketek in irc.
2012-06-13 01:36:59 +02:00
Kelketek
9290cf2c0c
Fixed an issue where improper substitution would cause extra newline
...
characters for MCCP clients. This made them effectively press return twice
on each command.
2012-06-12 17:51:10 -05:00
Griatch
d3ee5a565b
Added a loader to the server that automatically detects changes in default cmdsets and typeclasses (like when you change them in settings.py),
...
loops over all objects in the database and updates the places were the old default was set. This will make it more intuitive to overload the default locations (which is the natural thing to do after all). After this update, just make sure to @reload your server once before editing your settings.py; this will store the old settings for you, so they change-detection can work subsequently.
2012-05-19 12:36:11 +02:00
Griatch
8ad4f4a9fc
Changed player.search to only search for players explicitly.
...
Added a MuxCommandOOC class to handle the OOC commands in a more uniform way.
Fixed the @ic/@ooc and page commands. Resolves issue 233. Resolves issue 234.
2012-05-17 19:42:37 +02:00