发条式泥浆服务器
cwmud的Python项目详细描述
可扩展的模块化泥浆服务器。
clockwork是一个纯python mud服务器,设计时考虑到模块性和易开发性。
当前状态
这还不是一个可行的mud服务器。有账户创建,基本角色创建,房间,谈话,四处走动,但就是这样。管理命令上还没有权限控制,所以任何人都可以做他们想做的事情(这很好,因为还没有管理的概念)。
reload命令因最近对客户端/协议服务所做的更改而中断(服务器重新加载,但任何连接的客户端都将被转储到断开连接的I/O的极限状态),但应该在下一个次要版本中修复。
总之,目前正在建设中。
许可证
时钟使用麻省理工学院的许可证。有关详细信息,请参见license file。
安装
首先,highly建议您设置一个virtualenv在中运行时钟:
$ cd mymud $ virtualenv -p python3 --no-site-packages .venv $ source .venv/bin/activate
然后,时钟可以通过pip安装:
$ pip install cwmud
注意:如果不使用virtualenv(您应该!),则需要使用提升的权限(sudo)运行此命令。
依赖关系
时钟在Python3.4上运行,尚未在任何更高版本上测试。目前还没有支持早期版本的计划。
时钟需要运行的Redis服务器和消息的redis-py绑定包,以及密码哈希的bcrypt(bcrypt反过来需要libffi)。它还利用了miniboa-py3,这是miniboa的python 3端口,是一个小型的异步telnet服务器。我们修改后的miniboa副本包含在cwmud/libs中。
要在debian/ubuntu上安装libffi库,请运行:
$ sudo apt-get install libffi-dev
有关安装和配置redis的详细信息,请参阅Redis Quick Start指南。
配置
所有安装后配置设置都存储在cwmud/settings.py中。
您可能需要更改的一些关键设置:
^{tt4}$: The IP to bind the listener to, default is ^{tt5}$ (127.0.0.1), change to ^{tt6}$ to allow external connections.
^{tt7}$: The port to listen for new Telnet connections on, default is ^{tt8}$.
^{tt9}$: The path for the server log, defaults to ^{tt10}$ (rotates daily at midnight, which are also settings that can be changed).
^{tt11}$: The path to a folder where local data should be loaded from and saved to (serialized objects, flat text files, etc.), defaults to ^{tt12}$.
这些(和其他)选项也可以在每次运行时使用命令行选项进行设置(见下文)。
用法
要启动时钟服务器,只需运行:
$ python -m cwmud
有关用法和选项的完整列表,请通过运行查看帮助输出:
$ python -m cwmud --help
启动后,服务器将准备好接受您在cwmud/settings.py中指定的任何地址和端口上的telnet连接(默认为localhost和端口4000)。
测试
时钟包括一套pytest格式的单元测试。要运行测试套件,首先需要安装pytest和我们使用的插件(coverage、flake8、timeout)。要安装所有测试套件依赖项,请运行:
$ pip install -r tests/requirements.txt
注意:如果不使用virtualenv(您应该!),则需要使用提升的权限(sudo)运行此命令。
安装pytest后,您可以通过我们的makefile运行测试套件:
$ make tests
如果没有make可用(make.bat文件正在为windows用户工作),可以直接调用pytest,如下所示:
$ py.test --flake8 cwmud tests
开发
- git存储库:https://github.com/whutch/cwmud
- 项目规划:https://github.com/whutch/cwmud/projects
- 问题跟踪器:https://github.com/whutch/cwmud/issues
在提交任何请求或提交更改之前,请阅读style guide以了解编码约定和样式指导原则。
联系和支持
- 主页:(尚未)
- 文档:(尚未托管,但您可以在docs)中构建它
- 维基:https://github.com/whutch/cwmud/wiki
你可以在will@whutch.com给我发邮件提出问题和评论。你也可以在Mud Coders Slack group上找到我kazan(你可以在Mud Coders Guild blog上找到注册页面)。