Commit graph

61 commits

Author SHA1 Message Date
Griatch
e76061ee4c Fixed some issues with which hooks the reset command calls. Resolves #499. 2014-04-12 16:25:19 +02:00
Griatch
97991a2238 Implemented RSS feed reader along with updated rss2chan command. 2014-03-08 11:42:35 +01:00
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