aytony

求古寻论,散虑逍遥。

0%

开设我的世界生电服务器之一:总体架构与环境安装

以下所有的我的世界版本,均指我的世界JE(Java Edition)国际版。

关于生电服务器

在我的世界这个游戏中,生电作为一个玩法流派,旨在探索原版特性下的机械、自动化和量产的极限。而作为承载生电玩法的服务器,其配置方法又与普通服务器有所区别。

以国内知名度较高的TrinityUnion(TIS)服务器为例,其具以下几个特点:

  • 带地毯模组的我的世界原版(vanilla)服务端。
  • 自主编写的MCDReforged(MCDR)平台及插件控制服务器。
  • 一般分为生存服务器、创造服务器和镜像服务器。
  • 附加的插件和模组一般不改变游戏特性和原版玩法。

TIS用各种渠道共享了他们的生电服资源,包括MCDR、MCDR插件、TIS制作的地毯模组附加等。他们的服务器架构较为系统、规范,资源也共享,故本文主要参考TIS服务器结构,阐明如何搭建典型的生电服。


生电服结构

一个较为典型的生电服结构

生存服务器、镜像服务器和创造服务器

结构的主体部分。三个服务器在计算机上同时运行,有着不同作用。

  • 生存服务器是主服务器,作为生电生存的平台。
  • 创造服务器可以有若干个,可以作为生电机器的展示和交流平台等。
  • 镜像服务器是生存服务器的副本,用来进行机器实装前的测试等工作。

三个服务器均是Fabric+vanilla+MCDR的服务器组合,通过velocity群组服代理与用户通信,通过chatbridge server进行跨服对话。

MCDR

这是一个基于 Python 的 Minecraft 服务端控制工具

MCDReforged(以下简称 MCDR)是一个可以在完全不对 Minecraft 服务端进行修改的情况下,通过可自定义的插件系统,提供对服务端的管理能力的工具

小至计算器、高亮玩家、b 站弹幕姬,大至操控计分板、管理结构文件、自助备份回档,都可以通过 MCDR 及相配套的插件实现

以上节选自MCDR的github自述文件

velocity

作为与用户连接并转发用户信息的反向代理服务端,与一般的群组服功能相似。

chatbridge server

TIS开发的会话服务器,用来同步若干个服务器的会话信息。同时也可以同步QQ、Discord等平台的聊天信息。


环境设置

配置要求

CPU

频率越高越好,最好睿频3.5GHz以上。线程数要求不高,一般的四线程处理器即可。

内存

按照5-10人每GB每个服务器的大小进行估计,具体取决于红石机械的卡顿程度和视距设置进行调整。另外,根据velocity官网,群组服代理velocity需要额外的512MB内存。

值得注意的是,如果系统盘用的是机械硬盘,最好让系统在开设内存后有1-2G内存余量,防止系统对硬盘进行频繁读写而导致的大量卡顿。

Java(JDK/JRE)

Java是MC游戏本体的环境依赖。根据MC版本,选择对应版本的Java安装,无论是JDK(Java Development Kit)还是JRE(Java Runtime Environment)均可。

MC版本 最低要求Java版本 推荐下载地址
1.11及以下 Java 7 Oracle Java SE 7
1.12-1.16 Java 8 Oracle Java SE 8
1.17 Java 16 OpenJDK Release
1.18 Java 17 OpenJDK Release

对于Java 7和Java 8,建议使用Oracle官方的JRE版本;对于Java 16和Java 17,建议使用OpenJDK。

如果你不想在之后通过引用完整路径的方法使用java,建议勾选可能出现的 将java添加到PATH 选项。Python同理。如果你不知道我在说什么,直接勾上就对了。如果没有出现过这个选项,那么直接进行下一步。

在安装完成后,可以直接在命令提示符或Powershell中查看是否安装成功:

1
2
3
4
PS C:\Users\rsw> java --version
java 17.0.2 2022-01-18 LTS
Java(TM) SE Runtime Environment (build 17.0.2+8-LTS-86)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.2+8-LTS-86, mixed mode, sharing)

Python 3

Python 3是MCDR的依赖。建议安装支持版本内的最新版Python。

支持版本(Github同步)

Python 3官方下载地址

在安装完成后,可以直接在命令提示符或Powershell中查看是否安装成功:

1
2
PS C:\Users\rsw> python --version
Python 3.9.5

参考文献

  1. Java版 - Minecraft Wiki,最详细的我的世界百科
  2. Fallen-Breath/MCDReforged: A rewritten version of MCDaemon, a python script to control your Minecraft server
  3. Getting Started | Velocity