Griatch
4b1b842bd2
Changed TickerHandler to use the new ExtendedLoopingCall. This means the individual ticker-timers will continue from the last running time after a reload rather than starting over.
2014-02-17 17:18:12 +01:00
Griatch
205960948d
Added first version of TickerHandler, for managing subscription style tickers in a centralized way.
2014-02-12 00:46:22 +01:00
Griatch
ea7e43c746
Updated gametime module to work on-the-fly, based on patches and discussion with user Khandrish. Also made cleanups to @scripts command and some small bug fixes.
2014-01-04 17:14:51 +01:00
Griatch
6e5de7847a
Run migrations! Changed "Comm" typeclass to be called "Channel" to match the ChannelDB it is a typeclass for. The migration updates all old channel defaults to the new path.
2013-12-02 13:45:48 +01:00
Griatch
1ae17bcbe4
PEP8 cleanup of the entire codebase. Unchanged are many cases of too-long lines, partly because of the rewrite they would require but also because splitting many lines up would make the code harder to read. Also the third-party libraries (idmapper, prettytable etc) were not cleaned.
2013-11-14 19:31:17 +01:00
Griatch
06a0bea8d6
Added fix to object.contents cache as well as reworked the extent of cache hooks on location modification.
2013-10-21 21:17:32 +02:00
Griatch
46c2e372bf
Added working report functionality for db-fields. Not tested for Attributes yet. Also working oob-repeat functionality, but still a traceback at reload.
2013-10-16 23:39:04 +02:00
Griatch
fd9acd6bf9
Fixed website. Fixing references to db_references, not sure how to add the m2m field access to the admin. Fixed wrapper for db_home.
2013-09-23 22:08:14 +02:00
Griatch
2b332c3b9a
Attribute cache is working, lots of other updates, but still not a cleanly updatable system. It seems the Attribute-migrations are not coming through properly. Fixed a misnamed table in the comm app.
2013-07-11 09:51:52 +02:00
Griatch
8202dba596
Changed cache system to use Django's cache mechanism. Changed field caches to make use of Django signalling instead of custom caching calls (this should make the system consistent also when called from the webserver). Created a wrapper system for easily wrapping fields with a default wrapper (so as to not have to explicitly define the properties (such as objdb.key) which all just do the same thing - load from the field and make sure to call save().
2013-05-29 16:16:28 +02:00
Griatch
70ea21dab8
Added settings for webserver threadpool limits.
2013-05-23 23:57:21 +02:00
Griatch
c083fe6266
Webserver->Server is working, some more cleanup needed.
2013-05-23 22:58:50 +02:00
Griatch
94f50fcf33
Moved webserver to Server and set up the webclient to work as a stand-alone program on the Portal side. The website link to the webclient is currently pointing to the wrong process, some way to direct that transparently to the Portal-side is needed.
2013-05-23 00:02:25 +02:00
Griatch
a6544f2848
changed cmdset_default -> cmdset_character and changed the class names to match. Added migrations to properly update default-set cmdset_stores to the new positions (objects created from custom types are not migrated, these should see errors and need to re-point their imports to the new defaults)
2013-04-12 13:01:20 +02:00
Griatch
1aff5f1fd1
Renamed cmdset_ooc -> cmdset_player and settings.CMDSET_OOC -> settings.CMDSET_PLAYER. Also split most of the player-specific commands to a new module player.
2013-04-11 01:02:05 +02:00
Griatch
26ced2cb90
Heavily reworked the many-char system, cleaner and more consistent by not having any persistent links on the Object side once a player has unconnected.
2013-04-09 15:59:21 +02:00
Griatch
20a57d4167
Further fixes to the system, still some issues remaining.
2013-04-06 21:36:52 +02:00
Griatch
707a21c7d7
Fixed so reloading the server reconnects the proper sessions to the characters again.
2013-02-17 13:59:36 +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
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
b0b0fa7983
First, untested version of the OOBhandler mechanism.
2013-01-03 09:18:49 +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
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
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
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
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
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
e82ccc72ae
Removing the resync step for doing a server reset - this should act pretty much like a shutdown.
2012-05-01 14:27:59 +02:00
Griatch
94477b8340
Updated the reload and shutdown mecanism to avoid a loop when shutting down from inside the game. Made sure to have server sync correctly with portal at @reload (some session info were lost before). Some other cleanups.
2012-05-01 14:19:54 +02:00
Griatch
45c5be8468
More whitespace cleanup.
2012-03-30 23:57:04 +02:00
Griatch
9409f835bc
Fixing an error with the @reload resulting from removing the conf/ modules.
2012-03-25 22:35:33 +02:00
Griatch
e042366f31
Removed the conf/ modules, putting them into conf/examples instead, in line with other API changes. The gamesrc/ folder is now completely empty and all new modules have to be added explicitly.
2012-03-25 19:52:51 +02:00
Griatch
309c03ce43
Added at_server_start() and at_server_stop() hooks to allow users to safely initialize their custom systems whenever the server restarts.
2012-03-07 20:32:04 +01:00
Griatch
cdab5a240b
Added RSS feed support to Evennia. This uses the @rss2chan command to tie a feed to an in-game channel. Updates to the feed will henceforth be echoed to the channel. The reader requires the python-feedreader package to be installed.
2012-01-28 20:12:59 +01:00
Griatch
2104fd391b
Adding TTYPE support (allows server to query client for information such as name and capabilities, assuming the client supports ttype).
2011-11-19 19:34:00 +01:00
Griatch
af9fef14a4
Fixed so that sqlite3 is properly detected for the server to launch custom db PRAGMAs.
2011-11-13 23:15:04 +01:00
Griatch
23cd9e31b1
Restructured the way typeclasses are loaded. This makes it possible to run at_init() hooks at initiation also for objects without any custom cases for character/players. at_init() hooks are called only when an object is initiated. This means that a room's at_init() hook is only called when someone looks or enters it or a script operates on it, for example, rest of the time these objects are dormant, most efficiently.
2011-10-01 22:00:22 +02:00
Griatch
475361ad28
Added functionality to Attributes to store and update dicts and lists dynamically. One side effect of this is that dicts and tuples need to be stored as custom object types which means that e.g. isintance(obj.db.mylist) == type(list) will return False. In order to do checks like this, use src.utils.utils.inherits_from() instead. The Attribute system now also supports tuples. All other iterables except dicts, lists and tuples are stored and retrieved as lists, same as before.
...
This fixes issue 189.
2011-09-20 12:37:45 +02:00
Griatch
1995f61d46
Put up a warning about not using BaseObject.at_init() at this time (it's not called, as per issue 188). Also removed the deprecated at_cache() hook (it doesn't work anymore now that the caching system is much more efficient and only caches once).
2011-09-15 10:46:41 +02:00
Griatch
71bdc47fbb
Fixed typo. Changed reload argument for evennia.py to be 'reload' rather than 'restart'.
2011-09-03 15:10:28 +00:00
Griatch
f13e8cdf7c
Trunk: Merged griatch-branch. This implements a new reload mechanism - splitting Evennia into two processes: Server and Portal with different tasks. Also cleans and fixes several bugs in script systems as well as introduces i18n (courtesy of raydeejay).
2011-09-03 10:22:19 +00:00
Griatch
2b4e008d18
Scripts and Exits updated. Fixed some deep issues with Scripts that caused object-based scripts to not properly shut down in some situations, as well as spawn multiple instances of themselves. I think this should resolve all "at_repeat doubling" issues reported. Due to optimizations in the typeclass cache loader in a previous update, the Exit cmdsets were not properly loaded (they were loaded at cache time, which now doesn't happen as often). So Exits instead rely on the new "at_cmdset_get" hook called by the cmdhandler. It allows dynamic modification of cmdsets just before they are accessed. Resolves issue173 (I hope). Resolves issue180. Resolves issue 181.
2011-08-11 21:16:35 +00:00
Griatch
1e44e27f5e
Added ability to restrict which interface addresses Evennia listens to. Settable in configuration file. Default is to listen to all available interfaces. Based on patch by user 'Chris'.
2011-06-28 19:39:05 +00:00
Griatch
a8a70e9f5e
Added SSL (Secure Sockets Layer) support, inspired by patch by rcaskey (issue 79). The automatic certificate creation does not work well; so the system instead instructs and gives example on how to create your own using third-party tools. I can connect to the server using a twisted-client instance, but not that many regular mud clients seem to support SSL at all (and if they do I don't know to configure them ...)
2011-05-28 15:48:50 +00:00
Griatch
7c56c69cea
Added SSH support, based on patch by hagna (issue 166).
2011-05-27 17:47:35 +00:00
Griatch
28fe2ad3f4
Run Migrate. Implemented a full separation between Player and Character - Players (OOC entities) can now also hold cmdsets and execute commands. This means that "disconnecting" from a Character becomes possible, putting the Player in an "OOC" state outside the game. This overall makes the game much more stable since there used to be issues if the character was destroyed. Having an OOC set also avoids the previous problem of @puppeting into an object that didn't have any cmdset of its own - you couldn't get back out! A new default OOC-Cmdset handles commands available to a player while OOC. Commands in this set are applied with a low priority, allowing "IC" mode to give precedence if desired.
...
This change meant several changes to the lock and permission functionality, since it becomes important if permissions are assigned on the Player or on their Character (lock functions pperm() and pid() etc check on Player rather than Character). This has the boon of allowing Admins to switch and play/test the game as a "Low access" character as they like.
Plenty of bug fixes and adjustments. Migrations should make sure to move over all data properly.
2011-04-23 11:54:08 +00:00
Griatch
7d30b337d9
Cleanups and bug fixes. Fixed the @unlink command and also made it overally more stable. Resolves issue 161. Added more string conversion routines to handle non-ascii variables being stored in an Attribute. Resolves issue 160.
2011-04-16 22:26:22 +00:00