evennia / evennia Goto Github PK
View Code? Open in Web Editor NEWPython MUD/MUX/MUSH/MU* development system
Home Page: http://www.evennia.com
License: BSD 3-Clause "New" or "Revised" License
Python MUD/MUX/MUSH/MU* development system
Home Page: http://www.evennia.com
License: BSD 3-Clause "New" or "Revised" License
From [email protected] on May 29, 2007 04:45:43
Implement as per @cpattr.
Original issue: http://code.google.com/p/evennia/issues/detail?id=26
From [email protected] on May 27, 2007 19:28:25
Add this as per MUX2.
Original issue: http://code.google.com/p/evennia/issues/detail?id=19
From [email protected] on September 13, 2007 19:32:40
The first comment changed in the patch bellow shows a page with all
choices, the removed line don't.
The second comment is removed because you can only visit that link upon
registration.
Please apply this patch:
--- settings.py.dist 2007-09-13 18:28:09.000000000 +0100
+++ settings.py.dist.new 2007-09-13 18:29:19.000000000 +0100
@@ -46,12 +46,11 @@
DATABASE_PORT = ''
-# http://www.postgresql.org/docs/current/static/datetime-keywords.html#DATETIME-TIMEZONE-SET-TABLE +# http://www.timezoneconverter.com/cgi-bin/tzc.tzc TIME_ZONE = 'America/New_York'
Original issue: http://code.google.com/p/evennia/issues/detail?id=35
From [email protected] on January 18, 2009 04:06:53
Implement 'clearcom' comsys command as per MUX2.
Original issue: http://code.google.com/p/evennia/issues/detail?id=48
From [email protected] on May 23, 2007 02:17:43
Fix the 'exact' name_match() function in objects/models.py so exit name
matching works. Needs to exactly match any of the exit's aliases.
Original issue: http://code.google.com/p/evennia/issues/detail?id=16
From [email protected] on April 24, 2007 17:37:44
One of the perks of Python is its dynamic module re-loading capabilities.
We want admins to be able to re-compile the codebase while it's running and
see changes take place immediately. Obviously some really low level changes
won't play nicely, but 95% of them should be fine.
Basically, the command @restart needs to reload (at minimum) all of the
stuff under the apps directory. That's where people will be doing the bulk
of their extensions/modifications and would serve as a good starting point.
Original issue: http://code.google.com/p/evennia/issues/detail?id=10
From [email protected] on June 10, 2008 14:24:21
It looks like the latest Twisted doesn't play nicely with Evennia (on
Windows at least):
2008-06-10 08:21:31-0400 [-] Log opened.
2008-06-10 08:21:31-0400 [-] --------------------------------------------------
2008-06-10 08:21:31-0400 [-] Command Aliases Loaded: 9
2008-06-10 08:21:31-0400 [-] Evennia Test Site started on port(s):
2008-06-10 08:21:31-0400 [-] * 4000
2008-06-10 08:21:31-0400 [-] --------------------------------------------------
2008-06-10 08:21:31-0400 [-] Loaded.
2008-06-10 08:21:31-0400 [-] Traceback (most recent call last):
2008-06-10 08:21:31-0400 [-] File "C:\Python25\scripts\twistd.py", line
21, in
2008-06-10 08:21:31-0400 [-] run()
2008-06-10 08:21:31-0400 [-] File
"C:\Python25\Lib\site-packages\twisted\scripts\twistd.py", line 27, in run
2008-06-10 08:21:31-0400 [-] app.run(runApp, ServerOptions)
2008-06-10 08:21:31-0400 [-] File
"C:\Python25\Lib\site-packages\twisted\application\app.py", line 614, in run
2008-06-10 08:21:31-0400 [-] runApp(config)
2008-06-10 08:21:31-0400 [-] File
"C:\Python25\Lib\site-packages\twisted\scripts\twistd.py", line 23, in runApp
2008-06-10 08:21:31-0400 [-] _SomeApplicationRunner(config).run()
2008-06-10 08:21:31-0400 [-] File
"C:\Python25\Lib\site-packages\twisted\application\app.py", line 335, in run
2008-06-10 08:21:31-0400 [-] self.startLogging(self.getLogObserver())
2008-06-10 08:21:31-0400 [-] File
"C:\Python25\Lib\site-packages\twisted\application\app.py", line 367, in
startLogging
2008-06-10 08:21:31-0400 [-] log.startLoggingWithObserver(observer)
2008-06-10 08:21:31-0400 [-] File
"C:\Python25\Lib\site-packages\twisted\python\log.py", line 519, in
startLoggingWithObserver
2008-06-10 08:21:31-0400 [-] msg("Log opened.")
2008-06-10 08:21:31-0400 [-] File
"C:\Python25\Lib\site-packages\twisted\python\log.py", line 246, in msg
2008-06-10 08:21:31-0400 [-] o = self.observers.pop(i)
2008-06-10 08:21:31-0400 [-] IndexError: pop index out of range
Original issue: http://code.google.com/p/evennia/issues/detail?id=38
From [email protected] on June 13, 2008 20:26:53
What steps will reproduce the problem? 1. Login as a player
2. @name me=<another player's name>
3. @alias me=<another player's name> What is the expected output? What do you see instead? You should end up with the other player's name as your name and alias.
I figure I can take the code that I wrote for
commands/unlogged.py:cmd_create that checks for an existing player name &
alias and use it on these commands. Probably worth a common function of
some sort.
Original issue: http://code.google.com/p/evennia/issues/detail?id=39
From [email protected] on May 29, 2007 04:27:05
If an object is destroyed, gracefully clean up any objects in its contents
or exits linked to it.
Original issue: http://code.google.com/p/evennia/issues/detail?id=24
From [email protected] on April 30, 2007 21:25:15
Implement @wipe as per MUX/MUSH. Try to get wildcard support in as well.
Original issue: http://code.google.com/p/evennia/issues/detail?id=14
From [email protected] on April 23, 2007 17:56:16
Write lots of in-game help files.
Original issue: http://code.google.com/p/evennia/issues/detail?id=8
From [email protected] on April 23, 2007 17:53:21
Implement player to player paging/telling as per MUX and MUD. Let players
either use 'page' or 'tell' depending on what they're familiar with.
Original issue: http://code.google.com/p/evennia/issues/detail?id=5
From [email protected] on June 10, 2007 06:31:25
When an existing connection is booted to make room for a new one under the
same account, the PLAYER object's CONNECTED flag is removed and not re-added.
Original issue: http://code.google.com/p/evennia/issues/detail?id=29
From [email protected] on January 18, 2009 04:08:20
Implement some form of the MUX2 comsys @cset command to set some common
flags on a channel. This could get tricky, see MUX2 documentation for some
ideas.
Suggest using BooleanFields for most of this.
Original issue: http://code.google.com/p/evennia/issues/detail?id=49
From [email protected] on January 18, 2009 04:08:51
Implement '@CCharge' comsys command as per MUX2.
Original issue: http://code.google.com/p/evennia/issues/detail?id=50
From [email protected] on June 10, 2008 14:19:08
Use Fixtures for the initial database rather than these horrendous SQL
files. They may not work for all SQL servers, and they're a lot more
difficult to work with.
Original issue: http://code.google.com/p/evennia/issues/detail?id=37
From [email protected] on June 06, 2007 06:40:39
What steps will reproduce the problem? 1. Prefacing any input with a "/" seems to crash the client (not the MUD)
Original issue: http://code.google.com/p/evennia/issues/detail?id=28
From [email protected] on May 27, 2007 19:25:12
@reload doesn't work very reliably, or at all in most cases. We're going to
need an intelligent reloading system rather than the kludge we currently have.
There's a reload function in server.py. Gut and replace with something sane.
Original issue: http://code.google.com/p/evennia/issues/detail?id=17
From [email protected] on January 15, 2009 06:13:33
Make paging resolve aliases too.
Original issue: http://code.google.com/p/evennia/issues/detail?id=45
From [email protected] on July 25, 2007 17:08:17
Running ubuntu Feisty, got all the dependencies, but when I go to try
and pull the initial 'python manage.py syncdb' I receive:
Error: Couldn't install apps, because there were errors in one or more
models:
apps.objects: cannot import name CommChannel
So it wont finish making the database tables :/ The only file I've
modified is the settings.py.dist, and yep it's renamed settings.py now.
Original issue: http://code.google.com/p/evennia/issues/detail?id=33
From [email protected] on June 15, 2008 20:21:16
Let's clean out the Evennia root directory. It was pretty sloppy for me to
put the general source there to begin with. Move the modules to src/.
Original issue: http://code.google.com/p/evennia/issues/detail?id=42
From [email protected] on April 23, 2007 17:52:27
Implement @alias. Can probably just use an attribute instead of a new
object DB field. Shouldn't be too bad. Also needs proper search functions
in functions_db.py.
This will be used in paging and possibly logins eventually.
Original issue: http://code.google.com/p/evennia/issues/detail?id=4
From [email protected] on June 11, 2007 03:42:18
general.py doesn't import gameconf breaking inventory command
What is the expected output?
You are carrying:
You have 0 Credits.
What do you see instead?
You are carrying:
Untrapped error, please file a bug report:
Traceback (most recent call last):
File "F:\pymuds\Evennia\cmdhandler.py", line 150, in handle
cmd(cdat)
File "F:\pymuds\Evennia\commands\general.py", line 94, in cmd_inventory
else:
NameError: global name 'gameconf' is not defined What version of the product are you using? On what operating system? rev 204
winxp
Original issue: http://code.google.com/p/evennia/issues/detail?id=30
From [email protected] on April 23, 2007 17:41:49
Most of the commands need some kind of required permission(s). Right now,
pretty much everyone has access to everything. Django has a built-in
permissions system, it should be trivial to use it for the purpose.
Original issue: http://code.google.com/p/evennia/issues/detail?id=2
From [email protected] on January 18, 2009 04:01:55
These two functions in the Object manager are horrendous in that they
accept a dict of stuff rather than keyword arguments. I'm really not sure
what I was thinking when I wrote this stuff, but use keyword arguments.
Original issue: http://code.google.com/p/evennia/issues/detail?id=46
From [email protected] on June 15, 2008 20:22:06
Look through the functions_ modules for stuff that can be moved to
managers. In particular, things that are table-related.
Original issue: http://code.google.com/p/evennia/issues/detail?id=43
From [email protected] on May 27, 2007 19:30:30
Implement as per MUX2.
Original issue: http://code.google.com/p/evennia/issues/detail?id=20
From [email protected] on May 27, 2007 19:33:51
Find a way to get the local copy's subversion revision number into the
'version' command so we know what each game is running.
Original issue: http://code.google.com/p/evennia/issues/detail?id=22
From [email protected] on January 18, 2009 04:06:25
Implement 'allcom' comsys command as per MUX2.
Original issue: http://code.google.com/p/evennia/issues/detail?id=47
From [email protected] on May 29, 2007 05:48:17
We should probably make hidden/noset attributes used by the server prefixed
with an underscore so as not to conflict with any potential user or
expansion attributes.
Original issue: http://code.google.com/p/evennia/issues/detail?id=27
From [email protected] on April 23, 2007 17:55:08
Implement a global comsys of some sort. Use MUX2's commands.
Original issue: http://code.google.com/p/evennia/issues/detail?id=6
From [email protected] on September 14, 2007 15:28:25
Traceback (most recent call last):
File "/home/mking/devel/python/personal/evennia/cmdhandler.py", line 150,
in handle
cmd(cdat)
File "/home/mking/devel/python/personal/evennia/commands/general.py",
line 466, in cmd_help
session.msg("\r\n%s%s%s" % (ansi.ansi["hilite"], topic.get_topicname(),
ansi.ansi["normal"]))
File "/home/mking/devel/python/personal/evennia/session.py", line 170, in msg
self.sendLine("%s" % (message,))
File "/usr/lib/python2.5/site-packages/twisted/protocols/basic.py", line
277, in sendLine
return self.transport.write(line + self.delimiter)
File "/usr/lib/python2.5/site-packages/twisted/internet/abstract.py",
line 165, in write
raise TypeError("Data must not be unicode")
TypeError: Data must not be unicode
Original issue: http://code.google.com/p/evennia/issues/detail?id=36
From [email protected] on August 07, 2007 18:21:49
What steps will reproduce the problem? 1. Create a room, give it some attributes, including a description.
2. @destroy the new room.
3. @dig a new room, and hopefully it will get the old room's DBREF - this
part is iffy, but it happened to me.
This should make a completely new room, even it is re-using the previous
rooms' id. Instead, the "new" room has the same description of the
previous room, but the name has changed.
Original issue: http://code.google.com/p/evennia/issues/detail?id=34
From [email protected] on April 28, 2007 17:10:23
What steps will reproduce the problem? 1. Set up a MySQL database for Evennia
2. Run python manage.py syncdb
3. Watch the error occur What is the expected output? What do you see instead? The expected output is completion of table creation without error, instead
you get:
Installing custom SQL for genperms.CommandAlias model
Failed to install custom SQL for genperms.CommandAlias model: (1064, 'You
have an
error in your SQL syntax; check the manual that corresponds to your MySQL
server
version for the right syntax to use near '"config_commandalias" VALUES
(1,'l','look')' at line 1')Installing custom SQL for
genperms.ConfigValue model
Failed to install custom SQL for genperms.ConfigValue model: (1064, 'You
have an
error in your SQL syntax; check the manual that corresponds to your MySQL
server
version for the right syntax to use near '"config_configvalue" VALUES
(0,'site_name','Evennia Test Site')' at line 1')Installing custom SQL
for
genperms.Object model
Failed to install custom SQL for genperms.Object model: (1064, 'You have
an error in
your SQL syntax; check the manual that corresponds to your MySQL server
version for
the right syntax to use near '"objects_object" VALUES
(1,'Wizard','Wizard',1,0,2,1,'',2,'','CONNECTED','2007-04' at
line 1')
Installing custom SQL for genperms.HelpEntry model
Failed to install custom SQL for genperms.HelpEntry model: (1064, 'You
have an error
in your SQL syntax; check the manual that corresponds to your MySQL server
version
for the right syntax to use near '"helpsys_helpentry" VALUES(1,'Help
Index','This game has yet to customize its he' at line 1')Installing
index for
auth.Message model
Original issue: http://code.google.com/p/evennia/issues/detail?id=13
From [email protected] on April 23, 2007 17:51:37
This is a tough one that will require some thought and discussion. Figure
out how to provide the capability to script individual or groups of object
to behave certain ways via source that is external to the codebase. We want
players to be able to extend and enrich their game with minimal
modifications to the actual base code. This allows us to keep everyone on
the same page and we all benefit from mutual developments rather than
branching off in our own directions.
The scripting should be in python, objects can be pointed at individual
scripts that implement behaviors via some kind of object interface. Players
should be able to execute commands from scripted objects, look at them and
see an external inherited description (if none on the object exists), etc.
It's essentially like MUX/MUSH's parent system, but with python files
instead of parent objects.
Original issue: http://code.google.com/p/evennia/issues/detail?id=3
From [email protected] on April 23, 2007 17:55:52
We're going to need a delayed event queue in addition to the scheduler. For
example: I want object X to perform this action in Y seconds.
Original issue: http://code.google.com/p/evennia/issues/detail?id=7
From [email protected] on April 30, 2007 21:26:06
Add the attribute examining cases to the examine code as per MUX/MUSH. Try
to get wildcard support in as well for attribute names.
Original issue: http://code.google.com/p/evennia/issues/detail?id=15
From [email protected] on June 13, 2007 17:02:16
Implement an in-game help editor
Original issue: http://code.google.com/p/evennia/issues/detail?id=31
From [email protected] on April 26, 2007 04:36:52
Fill in the stub in session_mgr.py for check_all_sessions() to remove dead
sessions. If a player disconnects via QUIT or by closing his client, the
session is removed as expected. However, if the player is behind a badly
configured NAT and times out silently, the session remains open. Clean out
these dead sessions so we don't have multiple logins of the same person
sitting on the WHO list, even if the player is no longer connected at all.
Original issue: http://code.google.com/p/evennia/issues/detail?id=11
From [email protected] on February 15, 2007 05:09:06
Inside ansi.py, you define ansi['return'] = '\n\r'. This is incorrect.
All terminals that support two-character return codes require them in
'\r\n' order.
Original issue: http://code.google.com/p/evennia/issues/detail?id=1
From [email protected] on May 27, 2007 19:32:40
Implement as follows:
Switches:
/port - Boot a specific session on a port. Iterate through the session list
and match by port.
/quiet - Just disconnect the user without any notification.
Default behavior is to boot all sessions associated with the object that is
@boot'd. Only allow @boot'ing player objects. Notify the player who booted
them unless /quiet is specified. See MUX2's handling of this for example.
Original issue: http://code.google.com/p/evennia/issues/detail?id=21
From [email protected] on April 26, 2007 04:50:54
Implement the single character command aliases for things like
say/pose/emote as per MUX/MUSH. For example:
" = say
: = pose
; = posessive pose
Check the first character of the user's input. If it's one of these, fire
directly at the appropriate function.
Original issue: http://code.google.com/p/evennia/issues/detail?id=12
From [email protected] on June 14, 2008 05:06:42
Come up with a cross-platform startup script so we don't have to mess with
startup.sh and startup.bat, plus whatever else.
Original issue: http://code.google.com/p/evennia/issues/detail?id=40
From [email protected] on June 15, 2008 20:19:30
Self-explanatory. We need a module for flags rather than inter-mixing stuff
in with the Object manager. The following things off the top of my head
would need to be moved:
defines_globals - flag list there
objects/managers/object:
is_unsavable_flag
is_modifiable_flag
Let's put this module under src/flags.py
Original issue: http://code.google.com/p/evennia/issues/detail?id=41
From [email protected] on May 29, 2007 04:45:15
Implement as per MUX2.
Original issue: http://code.google.com/p/evennia/issues/detail?id=25
From [email protected] on May 27, 2007 19:35:23
Add a server-side config directive containing a space-delimited list of
default channels to add to new players in the form of:
:<channel_name>
Gracefully handle this if the specified channel doesn't exist.
I'll take this one personally, as I've got a few ideas in mind.
Original issue: http://code.google.com/p/evennia/issues/detail?id=23
From [email protected] on July 17, 2007 15:51:26
I was being dumb when I designed the table layout. The description field
should be moved to an attribute for consistency.
Original issue: http://code.google.com/p/evennia/issues/detail?id=32
From [email protected] on May 27, 2007 19:26:54
Implement a very basic @lock system. We'll probably eventually need to
replace it or use it with the scripting system somehow. We really only need
the basic default and enter locks for now.
I'll take this one on, as I've got a very specific idea of how to do it.
Original issue: http://code.google.com/p/evennia/issues/detail?id=18
From [email protected] on April 23, 2007 17:56:41
Start webbifying the room/thing/exit building process.
Original issue: http://code.google.com/p/evennia/issues/detail?id=9
From [email protected] on June 15, 2008 22:06:12
Says it all in the title, move this to src/session_mgr and yank the import
to session_mgr in functions_general. Trying to remove some of these
circular imports.
Original issue: http://code.google.com/p/evennia/issues/detail?id=44
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.