从头打造纯python的mud游戏-基于Evennia(1)

Evennia概述

Evennia是一个基于python的开源框架,代码库和服务器,用于使用现代技术和工具创建基于文本的多人在线游戏(又名MUD/MU等)。Evennia是一个基于python的开源框架,代码库和服务器,用于使用现代技术和工具创建基于文本的多人在线游戏(又名MUD/MU等)。

云服务器

当然,也可以使用虚拟机里面的LINUX/UNIX系统,不需要云服务器。
但是我们在此使用freebsd系统云服务器,因为更稳定也可以向互联网用户开放自己的服务器。
不建议使用windows

安装python3.10+

安装依赖包 (ubuntu)

apt-get install rustc
apt-get install openssl

freebsd

pkg  install rust
pkg install openssl
pkg install libnghttp2
pkg install sqlite3

从源码安装(freebsd)

pkg install curl
curl https://www.python.org/ftp/python/3.10.11/Python-3.10.11.tar.xz -o Python-3.10.11.tar.xz
tar -xzvf Python-3.10.11.tar.xz
cd Python-3.10.11
./configure
make
make install

apt-get安装(ubuntu)

apt-get install curl
add-apt-repository ppa:deadsnakes/ppa
apt update
apt upgrade
apt install python3.10
rm /usr/bin/python3
ln -s /usr/bin/python3.10 /usr/bin/python3
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
apt-get install python3.10-distutils
rm /usr/local/bin/pip
ln -s  /usr/local/bin/pip /usr/bin/pip

最后3行很重要,不然报错

pkg_resources.DistributionNotFound: The 'pip==20.0.2' distribution was not found and is required by the application
ModuleNotFoundError: No module named 'distutils.util'

等等各种古怪错误

安装evennia包

调用pip可使用下面方式

pip install evennia

也可使用python3 -m pip代替pip
安装完成后,你就可以快速创建新游戏了:

evennia --init mygame
cd mygame
 evennia migrate
evennia start 

你现在可以浏览你的新游戏的网站,并在你的浏览器http://localhost:4001本地玩。您也可以使用本地主机上的传统第三方MUD客户机连接到它,端口4000(如果您的操作系统不理解localhost,请使用127.0.0.1而不是localhost)。

示范程序

Evennia一开始并没有特定的游戏内容,但它并不空洞!有一款带有基本功能的“说话者”风格的游戏:你可以创建房间和道具,拾取物品,与人交谈,四处走动,用表情进行角色扮演……这个起点很容易扩展或完全替换为您喜欢。

下面是一些默认的资源和工具:

持久对象、出口、房间和角色的类。

角色和他们的账户分离(如果需要的话,可以是多角色游戏)。

游戏中的频道和聊天(包括链接到外部聊天频道)。

大约90个命令用于管理,建筑,聊天,基本角色扮演等。

可用的命令甚至它们的功能都可能随着环境和游戏状态而变化。

延迟,计时器,计时器(完全异步,没有线程,所以没有竞争条件的风险)。

游戏内菜单创建系统。

原型系统,用于在没有新职业的情况下制作各种对象(如怪物或道具)。

锁和访问小语言,非常灵活的访问控制。

教程世界的例子。

在所有游戏对象上轻松存储自定义数据。

搜索、创建和大量编码实用程序。

一个contrib/文件夹,包含可选的完整系统和更短的代码片段。

猜你喜欢

转载自blog.csdn.net/AI_LX/article/details/130909848
今日推荐