服务器搭建1:修订间差异
无编辑摘要 |
无编辑摘要 |
||
| 第36行: | 第36行: | ||
如果大体上跟我差不多,那么应该就可以开始正式工作了!<br> | 如果大体上跟我差不多,那么应该就可以开始正式工作了!<br> | ||
= | ==即将的开服== | ||
=启动核心= | |||
进入mdt的github页面,并在发行页面寻找并下载开服核心[https://github.com/Anuken/Mindustry/releases/ <span>Github地址</span>]<br> | 进入mdt的github页面,并在发行页面寻找并下载开服核心[https://github.com/Anuken/Mindustry/releases/ <span>Github地址</span>]<br> | ||
展开Asset的折叠,寻找这个神秘的叫<b>server-release.jar</b>进行一个下载<br> | 展开Asset的折叠,寻找这个神秘的叫<b>server-release.jar</b>进行一个下载<br> | ||
2026年1月31日 (六) 22:12的版本
服务器搭建(1)————开服准备与启动服务端
本教程旨在帮助mindustry(下文称之为mdt)的有开服需求们的小白们快速上手mdt服务端搭建
这一篇主要是为了帮助理解开服前需要知道和具备的东西以及启动服务端
开始的B话
开服的前期准备没啥好说的,无论你是身经百战开过各种服然后赔光钱的老资历还是一窍不通的电脑小白,都应该知道服务器既可以是自己电脑开服,也可以是不知道哪里租一个游戏面板服,再富点的话组个云服务器,可以,都可以。本篇主要完成一些关于通用内容的讲解。
前期的准备
配置问题
mdt虽然只是个不到百兆的小游戏,但是其开服配置和优化也是极其的骇人。
虽然cpu和内存算中等配置,但是由于底层上对于网络带宽的方面没做多少优化,导致带宽需要的量极其无底洞。
举个例子:我之前租过一个10M带宽的云服务器,刚开服宣传那会直接进了二十几个人,刷波出了一百多个单位就开始空中乱飘,同步困难甚至邪门到海军单位乱飘能直接绕过陆地飞进别的水里,连玩家的核心机都重生不出来。
所以:你可以穷别的,但是千万别穷带宽!
根据我的大多数估算情况,我只能提供一个含糊的配置推荐,里面牵扯到的东西又多又复杂,仅供参考
10人推荐4G内存15M带宽,20人及以下8G内存30M带宽
不要看那种面板服那种cpu核心数量多少!!mdt吃的单核!!一核有难十五核围观!!
JDK环境准备
mdt是java游戏这种简单事实你应该清楚,所以理所当然开服也得准备一个java环境。
面板服的话大部分情况下java环境都给你配好了,所以下文可以酌情观看
虽然开一个服的话弄一个java8已经完全足够,但是为了后续对wz插件的安装,最好换成JDK17!
以下教程均按照Windows JDK17安装作为参考
首先打开官网来寻找属于自己操作系统的压缩包JDK官网
根据自己的操作系统选择Linux或者WindowsMacOS?你家里人有精神病史吗?


选择完安装包后,Windows可以选择直接点击exe启动安装程序,Linux自行查看别的泌阳的%JAVA_HOME%修改教程去吧()
安装完后记得win+r并输入"cmd"来启动一下命令行并输入java -version查询一下java版本是否安装成功
正常情况下应该是这样:
C:\Users\Administrator>java -version openjdk version "17.0.0.1" 2024-07-02 OpenJDK Runtime Environment (build 17.0.0.1+2-3) OpenJDK 64-Bit Server VM (build 17.0.0.1+2-3, mixed mode, sharing)
如果大体上跟我差不多,那么应该就可以开始正式工作了!
即将的开服
启动核心
进入mdt的github页面,并在发行页面寻找并下载开服核心Github地址
展开Asset的折叠,寻找这个神秘的叫server-release.jar进行一个下载
别下成上面那个了!上面那个是原游戏!

另外,github由于不可抗力的原因,需要神秘的七个木棍合成的东西,这我就不另说了,办法自找吧
下载完毕后,把这个神秘的jar文件丢在一个提前准备好的文件夹里,不要把这货直接丢在桌面运行!小心红警工程车展开
另外自己新建一个bat格式的文件用于双击启动这份jar
在里面写上一切mdt服务器的起源咒语:
@echo off java -jar server-release.jar
完成并关闭,双击启动它
在不出各种离奇意外的情况下,弹出的命令行应该是这样:
[01-31-2026 21:46:14] [I] Server loaded. Type 'help' for help.
不过这样对于纯原版核心的话还没完成开服,你可以理解为现在只处于射击游戏中刚刚掏出枪的阶段,我们还需要按一下扳机才能让枪开火
输入我们的扳机!host
host [01-31-2026 21:48:48] [I] Randomized next map to be Islands. [01-31-2026 21:48:48] [I] Loading map... [01-31-2026 21:48:49] [I] Map loaded. [01-31-2026 21:48:49] [I] Opened a server on port 6567.
但这样还不够,现在服务器内文件夹里没有一张能玩的地图,目前的原版核心只能掏出默认的预设图来游玩,我们应该换上属于的地图!
自己下载或制作一张后缀为msav的地图
导入在[你的服务器核心所在文件夹]\config\maps中

这样完毕了之后,关闭先前的命令行,再度启动并输入host
[01-31-2026 21:52:26] [I] Server loaded. Type 'help' for help. host [01-31-2026 21:52:29] [I] Randomized next map to be 测试图. [01-31-2026 21:52:29] [I] Loading map... [01-31-2026 21:52:29] [I] Map loaded. [01-31-2026 21:52:29] [I] Opened a server on port 6567.
就是这样!现在,不出意外的情况下,你的ip地址的6567端口下应该会出现你自己的服务器
启动你的游戏,服务器会出现在你的列表

就是这样!点击进入吧!
疑难杂症(欢迎补充)
但如果我是面板服,端口已经是分配好的而并不是6567,该怎么办呢?
再次在你的命令行,输入config port [分配的端口号]就行得通!
config port 11451 [01-31-2026 21:55:52] [I] port set to 11451.
我是自家电脑开的,ip地址是本地分配的,没法发给其他人玩啊,怎么办?
这个可能会略有麻烦,得需要个公网ip才能让其他人进入并游玩,总不能搞半天开个服然后只能自娱自乐吧
现在普通人申请公网ip已经是地狱级别难度了,所以可以去尝试各种内网穿透方法,比如相对简单上手的樱花映射?要是不嫌麻烦的话也可以试试Radmin
原版核心指令集
这里不再赘述,我直接贴指令吧。
help //显示此命令列表 version //显示服务器版本信息 exit //退出服务器应用程序 stop //停止托管服务器 host [地图名] [模式] //打开服务器。如果未指定,将默认为生存和随机图。sandbox为沙盒,survival为生存,attack为攻击 maps //显示所有可用的地图 reloadmaps //更新服务器文件中的所有地图 status //显示服务器状态 mods //显示所有已加载的mod mod <名称...> //显示有关已加载插件的信息 js <script ...> //运行任意Javascript say <message...> //向所有玩家发送消息 rules [remove/add] [name] [value...] //列出,删除或添加全局规则。这些将适用于任何地图 fillitems [team] //用资源填充某队的核心 playerlimit [off/somenumber] //设置服务器玩家限制 config [name] [value...] //配置服务器设置 subnet-ban[add/remove] [address] //封禁某IP禁止入服 whitelisted //列出整个白名单 whitelist-add/remove < ID > //按ID将玩家添加/移除白名单 shuffle [none/all/custom/builtin] //设置地图池模式 nextmap <mapname...> //设置游戏结束后要进行的下一张地图 Kick <用户名...> //按名称踢人 ban <type-id/name/ip> <username/IP/ID...> //拉黑某人 bans //查看被拉黑的人 unban <ip/ID> //解除拉黑 admin <add/remove> <username/ID...> //使某在线用户成为管理员 admins //列出所有管理员 players //列出当前游戏中的所有玩家 runwave //跳波 load < slot > //从保存的存档加载 save < slot > //将游戏状态保存 saves //列出所有保存 gameover //强制游戏结束 info <IP/UUID/name...> //查找服务器信息,可以选择检查玩家拥有的所有名称或IP。 search <name...> //搜索使用过部分名称的玩家 gc //清理内存 //config指令里面三个最主要的指令,其他的偏高级的参数可以不考虑修改 config name [名字] //设置服务器名字。 config desc [内容] //设置服务器描述,字数需<100。 config port [端口] //设置服务器端口
