本篇教程由作者设定未经允许禁止转载。
MITE服务器从入门到入土
原则上我推荐各位写教程的dalao开放编辑权限,这样即使有瑕疵别人也可以方便的修改,免去诸多不必要的麻烦(留言&等待作者看到&修改)!
但这篇教程因含有个人/独家的知识所以不开放编辑权限,见谅~
冗长の前言
随着越来越多的人开始玩起MITE,单人的生存也越来越不能满足MITER的生活乐趣了。很多小伙伴开始用起游侠和teamviewer联起机来,也有MITE大佬淡定魔法上网轻车熟路地到官网下载MITE服务端开服玩耍。
可惜不是所有人都很懂mc开服或者曾经身为一个呼风唤雨的腐竹,只是想让小伙伴方便的连接一起玩耍,对这个硬核模组的硬核服务端无能为力,到处问人寻求帮助,走了许多弯路!
在这里我将对MITE服务端从入门到入土全流程详细的写出来。
有人说你简陋的才识不足以理解其中的奥妙,但你又知道这世界上总有人知道你问题的答案,那么就请在教程区多翻找翻找,然后在写教程的dalao坟前多烧几柱香~ (注:dalao被祭天)
MITE服务器的下载&安装
想要开MITE服务器可没你想的那么简单,和MITE客户端一样,服务端也是直接覆盖核心文件安装的,同样和客户端一样没有大多数命令的使用权限,也不能安装mod和插件!
MITE服务端版本需要对应MITE客户端版本,比如R196的MITE服务端就只能由R196的MITE客户端玩家连接!所以在下载时要看清楚版本和想要玩的版本是否相符,否则无法连接到服务器(会提示使用正确的版本)
[知识点]你可以把MITE服务端当成一个无玩家但开放了局域网并且可以通过控制台监视资源使用和日志的标准MITE客户端,因此也需要对应相同MITE版本使用。
MITE服务端的下载渠道现在有2个:
官网下载:这里为了防止某些人再次在官网误入其它页面,在此直接给出MITE作者的网盘链接:https://drive.google.com/drive/folders/0B94TUGZlUcsXZWpjUFhITUdDNXc 需要科学上网!
MCBBS官方发布帖:MITE中文汉化组的资源集中发布帖,含有服务端的下载地址:http://www.mcbbs.net/thread-725402-1-1.html 最终将到百度云盘下载。(为了增大访问量才只给出mcbbs链接的qwq)
从第一步下载或者只拿到了服务端安装文件MITE 1.6.4 HDS Installation Files的可以继续往下看。
从第二步下载或者拿到了集成服务端的可以就此跳过这一节,因为集成的服务端可以直接启动无需安装。
下载完毕后,安装MITE服务端需要以下内容:
一个纯净的原版Minecraft 1.6.4核心 .minecraft/versions/1.6.4/1.6.4.jar
MITE解压好的安装文件 MITE 1.6.4 HDS Installation Files文件夹
安装步骤:
参见MITE 1.6.4 HDS Installation Files1.6.4-MITE-HDS Manual Installation Steps.txt
当然无论英语好不好,我都会用中文介绍一遍的。
将MITE 1.6.4 HDS Installation Files/1.6.4-MITE-HDS这个文件夹拷出来
用压缩软件打开1.6.4.jar
如果你想使用集成的MITE服务端,跳过此步骤(建议);如果你想使用由run.bat启动服务器,cmd界面的控制台的MITE服务端,删掉里面的META-INF文件夹。
将1.6.4-MITE-HDS这个文件夹里面的所有内容复制到1.6.4.jar里面,提示覆盖全部选择“是”。
关上1.6.4.jar。如果你想使用由run.bat启动服务器,cmd界面的控制台的MITE服务端,将其重命名为“1.6.4-MITE-HDS.jar”,如果你想使用集成的MITE服务端,就随便命名成自己想要的名字(建议MITE-[版本号]-HDS.jar)。
如果你制作的服务端是非集成的(进行了第3步),把1.6.4-MITE-HDS里面的剩余3个文件拷到服务端文件的旁边(同一级目录)。如果你制作的是集成服务端,那么安装就圆满完成了。
在此介绍几个错误安装的反面教材:
像这种不安装就点开运行,安装成千姿百态的文件夹,把我给整笑了,解释诸位大神一下这个1.6.4-MITE-HDS.jar文件夹怎么在jvm中运行?
MITE服务端的首次使用&配置
[知识点]集成的MITE服务端和未集成的MITE服务端仅有的区别就是启动方式和控制台界面不同
服务端的启动方式:
集成的服务端直接双击服务端jar文件打开,界面长这样:
未集成的服务端点击run.bat打开,服务端默认分配2048MB内存,如果你是32位java,需要先编辑run.bat将其内存分配调整到1024MB以下,打开后将转到cmd,界面是这样:
在此之后所有的服务端均以集成服务端的配置方法为准!
第一次打开后服务端在同一级目录下生成了许多的文件!在此介绍一下各个文件的功能或作用。
现在我们来配置服务端的配置文件server.properties,这是一个文本文件,可以用记事本直接打开。
[知识点]server.properties文件如果不在服务端同一级目录下,则会在第一次运行服务端时自动生成。如果存在则会按照其配置的内容运行服务器。
它的内容也逐个介绍一下。
#Minecraft server properties MITE服务端配置文件 |
#Sat Sep 29 20:33:11 CST 2018 最后修改日期 |
generator-settings= 世界生成参数,留空默认,没有修改这个的权限(MITE服务端可能根本不读取这一条) |
professions=false 是否开启职业系统,MITE职业系统是个被移除的失败品,所以此参数不可用 |
allow-nether=true 允许生成并进入下界:true允许 false禁用 |
level-name=world 世界名称:字符串,不能带中文 |
enable-query=false 是否开启GameSpy4协议服务器监听器,用于获取服务器信息,不建议修改 |
allow-flight=false 是否允许飞行,无修改权限 |
server-port=25565 [重要]服务端端口,要么是你这里先设置好,内网穿透映射端口设为这个,或者是你获取了内网穿透映射端口,在这里填上。总之这个要和你的内网穿透映射端口保持一致。 |
enable-rcon=false 是否开启远程访问服务器控制台,适用于面板服 |
force-gamemode=false 是否强制使用一个游戏模式(MITE只有生存,能有啥别的模式?) |
level-seed= 世界种子,留空随机。在启动服务端时检查 |
enable-mapping=true 是否允许外网映射,建议true |
server-ip= 服务端IP地址,可以不填,使用你选择的内网穿透服务器的地址即可 |
max-build-height=256 最大建筑高度:整数,范围1~256,别妄想搞大事情 |
spawn-npcs=true 是否生成NPC,指村民 |
spawn-animals=true 是否生成动物,建议true |
hardcore=false 是否硬核(已经够硬核了,划掉)是否设置为极限模式,建议false,都是dalao就开true |
snooper-enabled=true 是否给http://snoop.minecraft.net网站发送服务器数据,这样玩家可以从客户端上获取服务器信息,推荐false |
texture-pack= 使用服务器材质,留空不推送服务器材质;填写网址链接开启服务器材质推送,一定要以.zip结尾! |
online-mode=true 是否开启正版验证,true只有正版登录的玩家才可连接,false所有玩家都可连接 |
difficulty=3 世界难度:整数,范围1~3,无修改权限 |
gamemode=0 默认模式,无修改权限 |
player-idle-timeout=0 服务器连接超时:整数,范围0~65535,单位毫秒,0无限制,建议0 |
max-players=20 服务器最大玩家数:整数,建议按需配置,减少系统资源的占用 |
generate-structures=true 是否生成建筑,建议true,更多乐趣 |
view-distance=10 最大视距:整数,范围1~16,建议12左右 |
default-map-size=4096 默认地图大小,不建议修改 |
motd=A 1.6.4-MITE Server 服务器加载名称:字符串,不能带中文,可以使用MC文字颜色 |
需要配置的已被红色高亮
MITE服务器的内网穿透设置
啥?你问我什么是内网穿透?在这里不介绍,自己查资料去。
你也可以借助自家路由器进行内网穿透,详情百度。
在上面的各项参数都设置为你所满意的值后,让我们为MITE服务器的起飞做最后的准备:将服务端连接至内网穿透。
面板服玩家可以参考面板服的使用手册,这里只介绍如何从本机开启MITE服务器(使用内网穿透客户端)。
大多数内网穿透软件都由一个网页配置仪表盘和一个本地客户端组成。
了解几个术语:映射端口,服务器线路与分服务器,客户端。
映射端口:连接到内网穿透服务器所用的端口,它将你的服务端广播到广域网。
服务器线路:一般的内网穿透有多个服务器线路可供使用以减轻各服务器的压力,这些分服务器的地址不同,因此建议从一开始就选择一个合适的线路,中途更换线路会导致你的MITE服务器地址变更!
客户端:在网页设置好后,客户端上登录即可连接到内网穿透服务器。
你需要在你的内网穿透平台上找到这些字眼!
现在,选择了你的内网穿透平台后,注册账号并登录,我们来创建第一个映射端口。
贴心的平台会在设置映射的界面给出Minecraft服务器的模版,如果没有,就按照上面的填写。
[知识点]远程端口:别人连接服务器时所用的端口,比如miteserver.cc:23333这样的服务器地址,23333就是远程端口。端口有范围限制,一般是1024~25564,25657~65535,设置界面一般会提示你这个范围。
本地端口:服务端连接内网穿透服务器的端口,已经被平台自动设置成MITE服务端配置文件的默认端口25565,因此不需要修改。
这些设置填完后,点击添加按钮,你便获取了一个内网穿透端口!
现在,在网页上找到内网客户端客户端的下载页面,下载客户端到本地,最好和你的MITE服务端放在一起。
在确认了你的服务端配置文件已配置好后,打开内网穿透客户端,登录后选择一个合适服务器线路,开启代理。
MITE服务端的功能和注意事项
认识MITE服务端
学会了使用MITE服务端开服后,想必各位信心满满地去开服玩耍却遭遇了不少莫名其妙的问题。列举最常见的几个:(FAQ)
“我的服务端打不了op命令了!”——放心,所有用这个服务端的人都打不了作弊指令。
“我的小伙伴退出重进时出现了‘离线惩罚!请在第二天的**时到**时重新连接’这个消息,咋办?”——躺床上退出服务器,已被惩罚则可以通过重启服务器来刷新掉。
“我给服务端加了**mod,装了**插件,咋启动不了服务器了?”——我也很好奇如果能成功启动,那这个MITE服务器会是啥样。
“我的面板服“XX一键开服软件”不认这个MITE服务端啊!”——不要使用那些专门运行原版或mod集成服务端的软件,MITE服务端和它们不是一伙的。
总之对MITE服务端的概括在上文已有,在此仅针对其功能补充一点内容:
限于服务端权限,控制台可以使用非作弊的指令和MITE添加指令,这个权限仅比MITE玩家/客户端高一点,详细使用方法可以见后面。
mod和插件?就永远别想了,完全不能兼容。
对于在服务器玩耍的几点建议或技巧:
如果开服是为了推进游戏进度,而不是一群-40靠复活娱乐度日,再或者纯粹养老服(虽然强烈建议养老去原版更佳),服务端最好随用随开,如果不方便挂着面板服时开时关,那最好用自己的电脑开,这样能够随时备份存档或者重启服务器(刷新离线惩罚使服务器重启变得十分频繁),尽量避免服务器无人空转。因为MITE的存档难度会随着天数的增加而增加,举个例子,到后面战斗小白就不会是拿木棒(+3)了,而是锈铁剑(+7)。
如果部分玩家的等级过低(<-10级)并且身上没有贵重物品,可以考虑直接删除其人物文件,但不建议直接将一个玩家的人物文件克隆到另一个玩家,人物信息重复会产生很多奇怪的Bug,比如不能一起开箱子,看不见另一个人这样的。
MITE服务器没有单人游戏时的血月作物枯萎机制,所以可以放心种菜,但要考虑种菜的地方,不同地形生长速度不同,比如种在高原,有可能服务器的人都搬走第一波菜都还没收。
如果想追求高速发展,服务器的人数最好不要太多,2~6人都是可以接受的范围,根据长期开荒的经验,在食物量产化(耕种,畜牧)之前,玩家人数与资源消耗和生存发展的关系如下图:
这些曲线的产生条件是:进入服务器的玩家数目稳定,都完全会玩并且稳定发挥。服务器内天气较稳定,所有玩家确保零死亡并且采取定居的生活方式,玩家的食物达到保证正常工作。这里对每一个曲线的产生原因进行解释。
首先是食物消耗量。这个曲线有着指数函数的特征。MITE设定在一个地区内的动物被清理干净后不会立刻重新生成,这个周期长达128天(每个蓝月),因此在服务器里,一个地区的食物消耗速度随着玩家增长而增长,而在“定居”的前提下,要想保证“正常工作”,那找食物的玩家就不得不离开到更远的地区去,这样所需时间更长,找食玩家走的路也更长,这导致了玩家消耗食物的速度随着人数而加速增长,因此呈现类似于指数函数的曲线。但还要指明的是,这个曲线是有右边界的,因为找食玩家如果是每天早出晚归,那么他的活动范围将会被限制在半天内玩家行走的距离,如果考虑进杀动物、采摘植物所需要的时间,这个范围将进一步减小。一般来说,人数高达8个人还定居在一起时,就必然会有人食物短缺。
其次是工作效率。这个曲线呈现对数函数的特征。同食物消耗曲线,找砂砾、下矿、砍树也是在一个地区的资源消耗完后需要到更远的地方寻找,这样花费在赶路下矿或运送砂砾上的时间就会增加。再就是制作东西,人数一多所需要制作的必需物品就会相应增加,打理起来就更花时间。因此总体上工作效率就会低于实际人数的增长速度,呈现减速增长的趋势,因此呈现类似于对数函数的曲线。
最后是发展速度。发展速度是综合前两个指标而得出的曲线,类似于极值偏移的正态分布曲线。这个曲线最直观地反映了MITE服务器中最优的玩家人数:2~3人。事实上大多数高玩在MITE服务器就是以2~3人为一个单位活动的,找食1人,下矿2人,如此分配就相对高效。
MITE服务端的使用技巧与命令权限
不同于游侠那样的联机平台,开服有着无可比拟的优势。首先开服者能对大局有所掌控,能为生存的发展带来诸多便利,并且无需启动游戏即可允许他人连接;其次MITE服务端有超出MITE客户端的功能与权限。
MITE虽然极大地限制了玩家的命令权限,但对于MITE服务器这样对一些功能有高需求的服务端,作者仍然保留了一些可以使用的简单命令,甚至是间接作弊的命令,这些命令只能从控制台输入。
MITE服务器的黑名单/白名单使用
/list 显示玩家列表
/banlist 显示封禁玩家和IP列表
上面提到过,在服务端同一级目录下有黑名单、封禁IP名单和白名单三个文件。其使用方法不用多说,在里面写上需要封禁/允许的玩家名称或IP,注意一定要按格式!
手动添加的黑名单、封禁IP格式(从服务端添加将自动补全格式):
# victim name | ban date | banned by | banned until | reason
# 要封禁的玩家名 I 封禁日期(日期格式:20**-06-07 12:00:00) | 被谁封禁 | 封禁到什么时候(日期格式:20**-06-07 12:00:00 或 Forever ) | 原因
白名单没有这么多格式要求,一个玩家名一排,如果允许所有人则只有一个*:
zhangsan
lisi
当然这些都不是重点,当我们在开服时遇到一些人需要立刻封禁时,MITE服务端同样允许直接通过命令封禁。
/kick [要踢出的玩家名(通常用来警告)] [踢出原因,可不填]
/ban [要封禁的玩家名] [封禁原因,可不填]
/ban-ip [要封禁的IP地址]
/pardon [要解禁的玩家名] 当然是原谅他啦
/pardon-ip [要解禁的IP地址]
/whitelist < on/off开或关 | list显示白名单列表 >
/whitelist < add添加 | remove移除 > [目标玩家名]
一般服务器只会在启动时加载一遍黑白名单,我们在手动修改这几个文件后要立即应用,需要输入:
/whitelist reload
如果有一天开的服是非正版验证,而有一个熊孩子用相似ID不停的登录搞破坏,封禁一个就换一个ID进(比如lihua1、lihua2、lihua233),你需要将符合格式的所有ID全部封禁,就在其ID为数字的地方加上*。(lihua*)
MITE服务器的日志查看
在控制台上记录的服务器日志包括:服务器运行状态,游戏内在线人数、时间、内存占用、玩家聊天与命令使用情况。
在关闭服务器时,这些日志会写入几个独立的日志文件,见上面文件介绍。
当服务器没人时,建议关闭服务器,以免无人空转。
[独家]在MITE服务器中提供更多便利功能
记分板
首先,在MITE中玩家受伤后自然恢复速度是64秒/半格(回复速度与饱食度有关),玩家一旦误伤队友就会血亏。™打的是友军!
在MITE服务端提供了记分板权限,可谓一个极大的便利。使用记分板将整个服务器的玩家设置为队友,这样就可以关闭队伤。
/scoreboard teams add player 玩家
/scoreboard teams join player @a
/scoreboard teams option player color [可用颜色] (可选,可用颜色请百度)
/scoreboard teams option player friendlyFire false
其次,对于一个要掌握大局的玩家来说,队友的生命值也是一个很重要的情报,所以需要实时掌控所有玩家的生命值。
在打过上面命令的基础上:
/scoreboard objectives add health health 生命值
/scoreboard objectives setdisplay <sidebar显示在侧边栏 | undername显示在玩家头顶 > health
这里虽然和原版一模一样,但我还是需要强调一些东西:显示玩家的生命值命令还可以显示在list(玩家列表中)为什么这里不提供选择?
因为作者设置在多人联机中玩家列表中会显示玩家等级,使用list参数会覆盖掉这个等级信息,并且无法在别的地方重新显示等级,故生命值信息不建议显示在玩家列表中。
另外在设置记分板显示玩家生命后,所有玩家的生命值将显示为0或不显示,重进服务器或刷新生命值(受伤或回复)才可以正确显示当前生命值。
其它符合1.6.4原版记分板命令的判据都可以使用(详情百度),如果摸索出利用记分板实现的更多便捷功能欢迎广大腐竹分享。
比如把玩家击杀生物数显示出来 :
/scoreboard objectives add totalKillCount totalKillCount 击杀数
/scoreboard objectives setdisplay belowname totalKillCount