无法将该对象添加到ldap服务器_Minecraft 基岩版 Ubuntu服务器搭建(三)

90c252f3057644b8747c5fd577f293c4.png

「文章写于2019/7/24」「Minecraft版本1.12.0正式版」「服务器版本1.12.0.28」

2020年2月19日注:该文章写的不好,笔者决定开学重新写一份,有问题的可以私信我,可以帮忙处理服务器。

这是我写的第三份教程,可以实现服务器内文件的修改,游戏指令的运用,以及对上一教程进行略微补充

我写的教程是相关联的,有的互相补充,有的错误的地方新教程会更新,实在想偷懒的话第一份教程可以不用看,教程地址可以进我空间看,我就不在这儿提供链接了。

讲解前我先说明一下:我以前是用minecraft文件夹来演示过程的,但因为我这个文件夹已经在使用了,不方便修改,所以我又在minecraft同一目录下又搞了个mtest文件,下面演示我将用mtest里的文件演示。

97b9a10557f5788993f2988218c2cece.png

一、上次教程的补充

1.你每次开远程连接的时候,要有第一件事是"输入sudo su root"的好习惯。

"sudo su root"用来获取系统最高权限,防止之后的操作报错。

2.如果你要使用FileZilla,每次远程连接都需要设置密码(阿里云会在你关闭远程连接之后撤销你对root设置的密码)。

3.每次备份以及上传备份的文件其实并不一定只有worlds这个文件夹,但这是最基本也是最重要的需要备份的文件夹。还有三个文件也是略需要备份的,如下图所标

(permission.json, server.properties, whitelist.json)

0d3b0d8ceec8bd99a05f6c5a167ac77b.png

这些文件的用处我会在后面讲。

如果还有人了解并会导入地图包、行为包、资源包等的,可能还需要将其他的一些文件备份下来。因为我没用过这些包,所以我就不讲解具体哪些包要备份了。

二、游戏指令的使用

在讲之前有个毛病我先说一下,如果用"LD_LIBRARY_PATH=. ./bedrockserver"(去掉尾端的&符号和两端的括号)直接在前台运行的话,是无法将程序挂到后台的(至少我使用了bg,fg前后台指令,我联系了阿里云技术人员也表示没有办法)。所以我们是无法应用在bedrock_server里打的指令,除非你的远程连接一直开着。但有些指令还是有点用的,因为这些指令是通过其他文件保存地。如果没听懂我说的也不要紧,到后面你就知道这其中的问题所带来的麻烦在哪儿了

1.在使用之前请把bedrock_server程序关闭(此前使用过"LD_LIBRARY_PATH=. ./bedrockserver"或者"(LD_LIBRARY_PATH=. ./bedrockserver&)"命令,无论有没有关闭过远程连接,如果使用过的话,建议重启一下服务器来结束程序的进程(别忘了开头说的"sudo su root")

然后再输入"LD_LIBRARY_PATH=. ./bedrockserver",出现:

56936ac820950ced41d7661bef77ee3b.png

这个就是前文说的bedrock_server程序,在下面你可以输入游戏指令,这个时候如果你关闭了远程连接,这个程序就会关闭

如果此前你输入的是"(LD_LIBRARY_PATH=. ./bedrockserver&)",此后你关闭了远程连接,这个程序仍然在后台运行,不会关闭,但是我们不能再调出这个程序来输入游戏指令。

第一条最基本的游戏指令:"help"(帮助指令)

输入"help 页数",会显示帮助文档,如图:

ff7a95ffde1d00bc4ea373818482ee52.png

这条指令能帮助你找到你所需要的指令,也帮助我不用在此细讲各种指令用法

第二条重要的游戏指令:"gamerule"(游戏规则指令)

输入"gamerule",出现:

9f767e9a865fce50e294b031936e722a.png

这条指令帮助你找到你想要处理的规则开关

比如,如果你想日夜交替关闭,你可以输入"gamerule dodaylightcycle false"来关闭日夜交替的规则

这里面的指令基本上是不判定你的世界是作弊的,所以纯净生存服不必太担心自己的服被开了作弊

这里面指令中有两个是我常用的,

一个是showcoordinates(坐标打开的规则),一个是keepinventory(死亡不掉落的规则)

输入"gamerule showcoordinates true" ,出现:

3f9a85443750ebc682ae2f1c11ce91b1.png

第三条指令是op指令(赋予管理员(operator)指令)

输入"op 玩家昵称" (昵称就是登录minecraft的Xbox玩家代号)

这条指令实现的前提就是该玩家要在服务器游戏中,不然会显示无法找到玩家,如图

05fc8ea34b85730be77008991f6f2a17.png

还有一条指令是whitelist指令(白名单指令)

输入"whitelist add 玩家昵称"可以将玩家添加到白名单

输入"whitelist remove 玩家昵称"可以将玩家从白名单移除

这条指令暂时了解一下就行,后面会细讲,这里我就先不用图片演示了(有可能会报错属于正常,因为服务器白名单开关可能没开)

三、服务器内文件的修改

首先把bedrock_server,也就是上面一直讲的程序关闭,简单粗暴的方法就是重启(重新打开远程连接记得"sudo su root")

并且把当前目录调到minecraft(使用cd指令)

输入"ls -al"展示一下minecraft下的文件,如图:

6764ee8d6e7134827c61f126eef765b8.png

这里教一条新的指令"vim"指令

输入"vim 文件"来进入并编辑文件

我们先试着修改一下server.properties文件

输入"vim server.properties",出现:

aa9482f9e6c8ee3e75e7c3f366fb4e5b.png

进入之后千万别瞎按键盘,因为各个键可能都是功能键,如果不小心按了,可以按esc退出(多按几下也不要紧)

可以按的是上下左右方向键,用来移动光标

前面没"#"号标注的是有效语句,有"#"的是批注语句

如果你想修改其中的一个信息,比如将第一行的server-name的"Dedicated Server"改为"123"

首先,将光标移动到需要编辑的地方,然后按下键盘上的"i"(insert)键,进入编辑模式

然后删掉原来的"Dedicated Server",并输入"123"

输入完毕后要按esc键退出编辑模式,你可以继续移动光标,继续进入编辑模式修改其他信息,然后esc退出

当你修改完信息了(esc按完后),直接输入":wq"来保存你的所有修改并退出该文件

如果你不小心编辑错了也不要紧,还是按完esc后,输入":q!"会退出该文档,但不会保留之前你对文档的修改

下面我说一下里面的whitelist,白名单启用开关。

白名单就是允许进入游戏的玩家的名单,位置仍然在server.properties文档中,只不过需要用光标往下移动才能找到,如图:

646d8c6f9c62632b507d71756bd9d079.png

下面讲一下白名单文档,whitelist.json

跟上面一样,输入"vim whitelist.json"进入该文档

进去之后你可能会发现文档里面空空的,只有一对中括号,不要慌

官方文档告诉我们该文档里信息的格式:

a3de12430a89a88958734153abee7d1c.png

我先解释一下每个对象(Key)的含义

name:玩家的昵称,也就是Xbox的玩家代号

xuid:玩家Xbox的后台id

ignoresPlayerLimit:忽略该玩家对服务器最多玩家的计算,也就是不将该玩家计入服务器在线人数(没什么卵用)

按照官方文档的格式

我们将光标移到中括号内,然后按"i"键进入编辑模式

输入"{"ignoresPlayerLimit":false,"name":"昵称"}"(输入的时候别把我这里外面的两个引号也给输进去了)

这样就把一个玩家添加好了"ignoresPlayerLimit"这栏的参数默认是false,当然,如果你想true也没什么太大关系(我觉得没啥意义,建议还是false)

"xuid"这一栏是选填,mojang考虑到我们不会太清楚自己的xuid是多少

同时每个{}之间记得要添加逗号:

54a6a583868f2b1ddbff1eaef038f7be.png

我们不一定要要跟官方文档里一样缩进的好好的,比如我的白名单是这样的(信息我打了马赛克):

05f661e6ca4e1a6e180cb67ba69618fa.png

还有一个文档是permission.json

这个文档是用来设置玩家权限的(默认是普通成员:member)

如果你想更改某个玩家权限,这里我还是给个官方文档来参考:

3ff7d4483428e59654c300bab65cdc00.png

operator是管理员,member是普通成员,visitor不清楚具体是什么权限

这里我就不细讲怎么修改了,跟whitelist里的修改差不多

不过一般不会用到这个文件,因为你也不知道玩家的xuid是多少(你可以通过其他各类方法知道自己的xuid,不过还是比较麻烦的)

我们回到之前的server.properties文件

里面有一行是设置玩家的默认权限(玩家第一次加入服务器的时候)

612be9fca3d42f5890119359fabe8aa9.png

四、一些基本目的的实现

1.op赋予

重启服务器,打开远程连接

输入"sudo su root"

cd到minecraft文件夹

输入"LD_LIBRARY_PATH=. ./bedrock_server"

输入"op 玩家昵称"(输入前确保玩家在游戏内)

(如果没有添加成功请检查昵称拼写,如果玩家昵称中间有空格是无法执行的)

关闭连接重启服务器

输入"sudo su root"

cd到minecraft文件夹

输入"(LD_LIBRARY_PATH=. ./bedrock_server&)"

关闭连接

2.添加白名单

重启服务器,打开远程连接

输入"sudo su root"

cd到minecraft文件夹

输入"LD_LIBRARY_PATH=. ./bedrock_server"

输入"whitelist add 玩家昵称"(输入前确保玩家在游戏内)

(如果没有添加成功请检查昵称拼写,如果玩家昵称中间有空格是无法执行的)

关闭远程连接,重启服务器

输入"sudo su root"

cd到minecraft文件夹

输入"(LD_LIBRARY_PATH=. ./bedrock_server&)"

关闭连接

如果玩家昵称有空格的步骤:

重启服务器,打开远程连接

输入"sudo su root"

cd到minecraft文件夹

输入"vim whitelist.json"

按照上面的教程将玩家添加到白名单

关闭远程连接,重启服务器

输入"sudo su root"

cd到minecraft文件夹

输入"(LD_LIBRARY_PATH=. ./bedrock_server&)"

关闭连接

3.op可以设置游戏的各个设置,如图

8393b5774a8628cdb487dc61591d5143.png

4.程序里的各个非保存到文件的指令无法在后台执行

比如前面说到的gamerule游戏指令就不能再后台运行

而op,whitelist add指令则是会保存到外部文件的

但是如果你必须的话也不是不可以,就是远程连接必须要一直开着

步骤是:

重启服务器,打开远程连接

输入"sudo su root"

cd到minecraft文件夹

输入"LD_LIBRARY_PATH=. ./bedrock_server"

然后就可以输入游戏指令了

以上就是本次的教程,有问题可以私信我,转载请标明出处

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值