Commit graph

4407 commits

Author SHA1 Message Date
Greg Taylor
37d66093cc Addition of a re-usable CommandTable class. We still have two global command tables that are now instances of this class. Game developers will use methods on CommandTable to add their own commands without modifying the base server code.
This is also in preparation of allowing commands to be present on objects via their script parents.
2008-12-14 01:49:37 +00:00
Greg Taylor
d38f2bd2f8 2008-12-14 01:12:43 +00:00
Greg Taylor
90cdc6573d Making comments consistent across both Windows and Linux/Unix startup scripts. Added some elaboration about Twisted Command Prompt in startup.bat. 2008-12-14 00:06:59 +00:00
Greg Taylor
e3c58aeb6d Fixed startup.bat to work again since the creation of the 'src' folder. Forgot to update the path. Also updated Windows 'Getting Started' guide on evennia.com to be more verbose.
Also did a few really minor formatting fixes and commenting elsewhere.
2008-12-14 00:02:11 +00:00
Ozan Turkyilmaz
7b53efac69 added stop fonctionaly into the script as it is useful for daemon mode. 2008-12-12 13:49:58 +00:00
Greg Taylor
c8e460e668 Forgot to update the INSTALL file with the new local_settings.py stuff. 2008-12-11 17:00:43 +00:00
Greg Taylor
2e6a74760f Important change! Removed settings.py.dist and settings_common.py in favor of a local_settings.py file. This will make changes to the settings file much easier. You will need to create local_settings.py. Copy-paste any variables you'd like to change from settings.py to local_settings.py. Anything appearing in local_settings.py over-rides settings.py. For those that have been following the codebase and have a settings.py file of their own, you'll need to either delete it or move it to a file name other than settings.py so that the new default settings.py file from the repository may be downloaded. 2008-12-11 16:53:04 +00:00
Greg Taylor
b1cf3f4af0 Courtesy of Ozan Türkyılmaz, startup.sh now takes flags for interactive and daemon mode. If no arguments are provided, default to daemon mode. 2008-12-08 20:43:43 +00:00
Greg Taylor
3041684ba3 Django admin functionality restored. 2008-11-05 18:17:59 +00:00
Greg Taylor
75c38ada19 Evennia once again runs on the latest trunk. Admin interface is still broken pending transition to newforms-admins stuff. 2008-11-05 18:08:51 +00:00
Greg Taylor
72df223b3a Fix the os_path reference, should be os.path. 2008-10-21 20:10:34 +00:00
Greg Taylor
51a911d048 We now access the scriptlink by calling object.scriptlink instead of get_scriptlink. Shortens the typage a little and allows for some less complex fun possibilities down the road. 2008-06-21 02:05:44 +00:00
Greg Taylor
e6e5a889f5 I am reminded that having to mess with config files sucks. Try to derive BASE_PATH on our own so admins don't have to. 2008-06-21 01:29:55 +00:00
loki77
3e57f49395 New way of working with scriptlinks.
Scripts should be defined as '.' separated directory structures, starting in the base evennia directory.
2008-06-18 04:36:23 +00:00
loki77
6d1a8b8250 Fixed a bug with scriptlink that caused an error for players. Basically it split on ., which I believe used to be the seperator, but it is now /. 2008-06-17 01:37:11 +00:00
loki77
186dcc17c5 Fixed bad indentation. 2008-06-17 00:38:59 +00:00
Greg Taylor
6b1662f370 One more consistency nit-pick before I take a rest for a while. 2008-06-15 21:33:17 +00:00
Greg Taylor
cf18029be1 Moving some of the login tasks out of sessions.py and into the BasicPlayer script parent. Also, added seconds to the 'time' command, which I apparently forgot. 2008-06-15 21:29:27 +00:00
Greg Taylor
b12ba45cc7 Moving constants over to the new flags module. 2008-06-15 20:41:58 +00:00
Greg Taylor
e89a30f511 Woohoo, got rid of some delayed imports due to the circular import cases no longer existing. 2008-06-15 20:34:09 +00:00
Greg Taylor
a954069776 Finished moving stuff around, things should be in mostly working order now. 2008-06-15 20:31:25 +00:00
Greg Taylor
fd264667b8 Whoops. Broken for a few minutes. 2008-06-15 20:19:08 +00:00
Greg Taylor
ff98ede98f Moving the logging system to src/ 2008-06-15 20:15:12 +00:00
Greg Taylor
5064d0cacc Moved defines_globals to src/ 2008-06-15 20:04:06 +00:00
Greg Taylor
e6e84c2ee5 Quick PEP 8 related change. 2008-06-15 19:55:38 +00:00
Greg Taylor
811016867b Comsys moved to src/ 2008-06-15 19:41:27 +00:00
Greg Taylor
4bb00013ae Even more death and destruction. A lot more stuff moved to src/. A lot more bugs probably introduced. 2008-06-15 19:38:39 +00:00
Greg Taylor
d3808c1ea2 Committin a 'working' checkpoint before I break more stuff. 2008-06-15 19:06:31 +00:00
Greg Taylor
ccf078b5c8 Getting rid of functions_help in favor of the new manager. Removed an un-needed import from commands/general. 2008-06-15 17:30:42 +00:00
Greg Taylor
d620f3b1f0 The first of many re-arrangements. Eliminated gameconf in favor of using the manager on ConfigValue. Moved some commands while I was at it. There are going to be crash bugs that need to be found and worked out. 2008-06-15 17:21:02 +00:00
Greg Taylor
8a1204ce76 One more prop setting. 2008-06-15 05:31:35 +00:00
Greg Taylor
a525bf4134 Whoops, forgot one. 2008-06-15 04:42:54 +00:00
Greg Taylor
ed1510c4a7 Splitting web stuff off into a separate apps directory. This stuff will end up being replaced/re-written, it's ancient and really badly done. 2008-06-15 04:40:14 +00:00
Greg Taylor
75b39ada13 Adding a coding style document. A lot of the code doesn't follow this right now, we'll need to fix that! :) 2008-06-15 03:14:56 +00:00
Greg Taylor
652c7d57a5 whoops, forgot one, plus updating props. 2008-06-15 03:03:30 +00:00
Greg Taylor
43f0ae6af6 Outlining managers. I know some of these managers sub-modules only have one file in them, but let's keep the convention for consistency. 2008-06-15 03:01:58 +00:00
Greg Taylor
8ba1a93eeb Fix the interactive mode line in here to actually be interactive. We'll need a cross-platform startup script soon, or at least one that takes an argument for interactive mode. 2008-06-15 02:51:56 +00:00
Greg Taylor
7f895133ec This still mentioned asynchat, updated now that we're using Twisted. 2008-06-15 02:48:21 +00:00
Greg Taylor
3ad6a78281 Show current revision on the 'version' command. Once we go to releases, this will be different, but for now it's informative for developers and early adopters. Assumes they have Subversion installed, otherwise the version is Unknown. 2008-06-14 04:37:33 +00:00
Greg Taylor
82f35f3b84 As is in Penn (I think), we'll use two underscores to denote a hidden server attribute. Finished up moving the two hidden attributes that I know need to be hidden and read-only over to the double underscore names as per Issue 27. 2008-06-14 04:24:53 +00:00
Greg Taylor
131f6410d4 Fix some formatting affected by the space conversion. IMPORTANT: Channel list attributes are now stored via Django's bundled version of simplejson instead of cPickle/pickle. Pickle isn't unicode-capable in 2.5 and lower, plus JSON is going to be a lot more accessible for web-stuff. 2008-06-14 04:18:20 +00:00
Greg Taylor
ffe9a563e0 Removing mixins.py, as it's not in use. We now have a separate ConnectScreen model under the config app to store connect screens. ConfigValue's value fields are now CharFields instead of TextFields for the sake of efficiency and sanity. It is strongly recommended that you reset your config app and syncdb to load the fixture. 2008-06-14 03:15:41 +00:00
Greg Taylor
f1760e6521 I guess it helps if I actually add the file. 2008-06-14 02:26:40 +00:00
Greg Taylor
813c50652e Splitting some of the stuff out of settings.py into settings_common.py (new file) to hold directives that need to be versioned. It sucks having to tell people to re-build their settings.py file from settings.py.dist when changes are made. 2008-06-14 02:26:14 +00:00
loki77
3fe644ef17 Indentation change 3-4 spaces.
Possible files that need to be cleanedup;
commands/info.py:cmd_list
commands/general.py:cmd_who
commands/comsys.py:cmd_who

cmdtable.py
ansi.py
2008-06-13 19:52:29 +00:00
loki77
740d715c72 Modified for 4 space indentation. 2008-06-13 19:41:23 +00:00
loki77
ad009e20ab basicobject.py
---------------
  - Checks for NULL description on objects- if Null, it doesn't print the extra line any more.
  - Made the checks for contents a little less ambiguous

cmdhandler.py
--------------
  - Added new method 'parse_command' which takes a command string and tries to break it up based on common command parsing rules.  Mostly complete, but could use some work on the edge cases.  Check out the docstring on the function- I tried to make it fairly well documented.
  - Changed the check for 'non-standard characters' to just return, rather than throw an Exception.  Not sure if this causes any issues, but I noticed that when you hit enter without entering a command it would trigger this code.  Now it just fails silently.
  - The handle function now calls the parse_command function now and stores the results in parsed_input['parsed_command'].  This then gets put into cdat['uinput'] at the end of handle() like before.  The old data in parsed_input is still there, this is just a new field.
  - Added cdat['raw_input'] to pass the full, untouched command string on.  This is also stored in parsed_input['parsed_command']['raw_command'] so not sure fi this is necessary any longer, probably not.

cmdtable.py
------------
  - Just cleaned it up a bit and straightened out the columns after changing 3-4 space indentation.

apps/objects/models.py
-----------------------
  - set_description now sets the description attribute to 'None' (or Null in the db) when given a blank description.  This is used for the change mentioned above in basicobject.py
  - get_description now returns None if self.description is None
  - used defines_global in the comparison methods like is_player

functions_db.py
----------------
  - Changed import defines_global as defines_global to just 'import defines_global'- wasn't sure why this was this way, if I broke something (I didn't seem to) let me know.
  - renamed player_search to player_name_search.  Removed the use of local_and_global_search inside of it.  local_and_global_search now calls it when it receives a search_string that starts with *.
  - alias_search now only looks at attributes with attr_name == ALIAS.  It used to just look at attr_value, which could match anything, it seemed.
  - added 'dbref_search'
  - local_and_global_search changes:
    - Now uses dbref_search & player_search if the string starts with "#" or "*" respectively
    - Changed when it uses dbref_search to whenever the search_string is a dbref.  It used to check that it was a dbref, and that search_contents & search_location were set, but I *believe* in most MU*'s when you supply a dbref it never fails to find the object.

commands/unloggedin.py
-----------------------
  - removed hardcoded object type #'s and started using defines_global instead
  - when creating a new account, made sure that no object with an alias matching the player name requested exists.  This is behavior from TinyMUSH, and I think most MUSHs follow this, but if not this is easy enough to change back.

commands/general.py
--------------------
  - Rewrote cmd_page:
    - New Features
      - Page by dbref
      - Page multiple people
      - pose (:) and no space pose (;) pages
      - When someone hits page without a target or data, it now will tell the player who they last paged, or say they haven't paged anyone if they don't have a LASTPAGED
    - uses parse_command, made it a lot easier to work through the extra functionality added above
    - When there are multiple words in a page target, it first tries to find a player that matches the entire string.  If that fails, then it goes through each word, assuming each is a separate target, and works out paging them.

commands/objmanip.py
---------------------
  - I started to muck with cmd_name & cmd_page, but decided to hold off for now.  Largely, if everyone is cool with the idea that names & aliases should be totally unique, then we need to go ahead and re-write these.  I'll do that if everyone is cool with it.
2008-06-13 18:15:54 +00:00
Greg Taylor
87fb121427 Make Evennia start correctly on the latest version of Twisted. There is a logging snafu that exists with the latest Twisted, and it was only dumb luck that the server started on previous versions of the framework. The ticket detailing this problem is at: http://twistedmatrix.com/trac/ticket/3289
Let me know if this breaks your setup!
2008-06-10 20:46:17 +00:00
Greg Taylor
38f8225a37 Moving application initial data over to JSON and fixtures. This is much better than using those raw SQL files that might not work with all RDBMs. The Objects app needs to be converted to use fixtures as well, but I've got something bad data in there that's causing some issues (which I'm working on hunting down). 2008-02-09 02:49:03 +00:00
Greg Taylor
ea88ace9fa Updating some models to use max_length instead of the deprecated maxlength. 2008-02-09 02:35:28 +00:00