Commit graph

69 commits

Author SHA1 Message Date
Griatch
16d49e61d3 Added MessageMiddleware, which is required by the News site on the website. A Django 1.4 change? This was highlighted as part of Issue 249. 2012-10-24 00:18:09 +02:00
Griatch
cd5623a657 Changed settings_default to define DEFAULT_HOME as "#2" instead of just "2" to match the enforced way of using dbrefs. 2012-10-14 15:48:17 +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
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
2481a9b493 Minor bugfix 2012-09-03 21:36:41 +02:00
Griatch
5c6ee44039 Modified contrib/evlang to optionally make use of ProcPool multiprocessing. 2012-09-03 19:21:04 +02:00
Griatch
275d00d4db Some more usability additions to the ProcPool system. Also made it default
to turned off when SQLite3 is used - SQLite3 doesn't support multiple
processes.
2012-09-02 18:57:25 +02:00
Griatch
056fee5c70 Changing all text files to explicitly have .txt endings. This helps online code browsers to properly identify the files. 2012-09-02 13:05:47 +02:00
Griatch
3ebeab5689 Changed ProcPool to be turned off by default, while testing. 2012-09-02 10:13:10 +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
c2961ce5e2 Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. Added some more info to the default settings file in src/. 2012-06-16 15:33:05 +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
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
Griatch
3091587e33 Added a timeout to the attribute caching; the system will now clean cache at regular intervals once it pass a certain size defined in settings. 2012-04-28 00:37:36 +02:00
Griatch
1ce5c6b84a Changed SECRET_KEY to be randomly generated by manage.py when settings.py is first created, rather than to rely on people manually changing the default from settings_default when first starting the server. 2012-03-31 11:32:26 +02:00
Griatch
45c5be8468 More whitespace cleanup. 2012-03-30 23:57:04 +02:00
Griatch
e6aab74ee2 Fixing new STATIC_URL setting to work and be backwards compatible with Django versions before 1.4. 2012-03-29 01:15:01 +02:00
Doug Miller
c67b949a4e updated deprecated setting in settings_default.py 2012-03-28 21:59:45 +00:00
Griatch
897be724f5 Fixed some deprecated settings changed for django1.4. 2012-03-28 22:01:59 +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
e7869ed830 Removed the old base* start files from game/gamesrc. This is in line with the new API usage. Unfortunately this will likely lead to some collisions for people. 2012-03-25 17:23:10 +02:00
Griatch
b2d91d9bb5 Switched settings_default to use src/ base modules instead of modules in game/gamesrc/ as default (these will be removed) 2012-03-25 17:13:39 +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
fb78758356 Implemented working MCCP (data compression) and MSSP (mud-listing crawler support). Moved all user-level customization modules from gamesrc/world to gamesrc/conf to reduce clutter. 2011-11-20 11:52:01 +01:00
Griatch
ce0e3c4857 merge. 2011-11-11 01:20:51 +01:00
Griatch
bced571805 Added api functions for implementing protocols sending out-of-band data between server and portal (e.g. like GMCP) 2011-11-08 22:54:02 +01:00
Griatch
3e8b43d222 More fixes and cleanup in wake of ic/ooc changes. 2011-11-06 23:55:24 +01:00
Griatch
c297e01fc3 Merge. 2011-11-05 23:09:59 +01:00
Griatch
ce00d7c920 LOCALE: Added Swedish translation. 2011-11-03 22:55:12 +01:00
Griatch
78e12b3aba Merge from trunk. 2011-11-03 14:09:34 +01:00
Griatch
17951a05f5 Dev: Testing with asyncronous db saving. 2011-11-03 14:08:14 +01:00
Griatch
8d3817ccd4 Added at_initial_setup hook. Create a module in game/ and point to it with settings.AT_INITIAL_SETUP_HOOK_MODULE. This module must contain at function at_initial_setup(), which will be called very last in the setup procedure. If no module is given or fail to load, this will fail quietly. 2011-10-09 19:42:39 +02:00
Griatch
bc0195bbaa Worked with admin interface, cleaning up and adding functionality. There are still some strange behaviour that makes e.g. the presence of inlines to auto-create empty database objects for some strange reason. Inlines are turned off at the moment (so there is no convenient way to add attributes from the admin interface at this time). Creating players now work, but one needs to create all three components (User, Player, Character) in one go and tie them together. The User-admin form was changed to also support multi-word usernames (django default didn't allow spaces). 2011-10-02 22:37:07 +02: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
0a1bcd36c2 Removed FULL_PERSISTENCE setting. It was a "feature" that was added at a time when caching was more inefficient than now. Also the new reload mechanism make FULL_PERSISTENCE=False unfeasable. Use ndb explicitly for non-persistence. 2011-10-01 15:10:21 +02: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
16affc284b Allow for changing the home location of new characters by changing a setting. The given location must exist and is given as a dbref. If one wants more advanced control over start locations, one needs to customize the unloggedin/create command to match the particular game. Resolves issue 178. 2011-08-06 19:39:06 +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
334c0b1d08 Fixed a bunch of small issues. The RedButton example hasn't been working for a while, should be ok again now - also cleaned it up a bit. 2011-06-24 20:12:59 +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
d2400a8a6b Added the ability to give multiple typeclass search-paths to config file. This way you can add a path to your custom directory and don't have to write so much when creating typeclassed objects using e.g. @create. 2011-05-13 22:26:08 +00:00
Griatch
b9c1921a0b Added a new 'contrib' folder for optional code snippets not suitable for the server core. Added contrib/menusystem for implementing a multi-choice menu system. Added contrib/lineeditor - a powerful line editor with commands mimicking VI. Also added an example NPC class using the menu system to allow for a conversation. As part of creating these contributions, lots of bugs were found and fixed. A new and more powerful cmdparser was intruduced as a result - this one is much easier to understand than the old one, while being more efficient and versatile. All testsuites were updated. Also: Resolves issue 165. 2011-05-12 21:51:11 +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
7f7016ad7d Run Migrate. Implemented @search functionality with limits as per MUX (as part of the @find command). Added some more channel-related commands and changed locks for channels to have a "control" lock type rather than "admin". The migration converts this in existing channels.. 2011-04-20 22:40:27 +00:00
Griatch
23462c626c Further updates to the IMC2 system, making it a bit easier to use. 2011-04-20 00:27:19 +00:00
Griatch
0ea95631bf IMC (inter-mud-communication) is working again. Evennia's implementation connects an existing Evennia channel to an IMC2 network/channel seamlessly. One can listen to more than one IMC2 channel, but only send to one IMC channel, as defined when setting up the connection. One can list imc channels and muds connected to the network. We have only limited support for imctell at this point: It works for IMC users to send imc-tells to users on Evennia, but seemingly not the other way around. Evennias imctell function at least doesn't seem to properly send tells to my Talon IMC user. 2011-04-19 15:13:34 +00:00