#7 NO.5 服務(wù)器的存檔\指令與文件

存檔
在服務(wù)端與客戶端版本與注冊物品相同的情況下, 存檔是可以互通的, 接下來我來介紹關(guān)于存檔問題.
1 常規(guī)服務(wù)器存檔信息:
在server.properties文件內(nèi), 存在level-name的鍵值對, 是存檔文件夾的名字, 默認(rèn)為world, 在啟動服務(wù)器后, 服務(wù)器會讀取此文件并找到對應(yīng)存檔文件夾, 這是基本.
打開存檔文件夾可以發(fā)現(xiàn)文件結(jié)構(gòu)和客戶端相差無幾, 也因此, 在客戶端的存檔可以移植至服務(wù)端, 但是要保證注冊物品與游戲版本相同, 否則容易出現(xiàn)物品信息丟失的情況損壞存檔, 移植存檔時要注意
2 非常規(guī)服務(wù)器存檔信息:
非常規(guī)服務(wù)器如mohist核心, 存檔結(jié)構(gòu)稍有不同, 分為三個文件夾:(以下采用默認(rèn)存檔名稱)
world 主要存放世界信息, 主世界信息, 與玩家信息
world_nether 只存檔下界世界信息
world_the_end 只存放末地世界信息
這之中world文件夾文件結(jié)構(gòu)類似于去掉DIM-1與DIM1
而去掉的DIM-1與DIM1則在另外兩個文件夾之中, 移植存檔時要注意
3 通用版本問題
可以通過存檔轉(zhuǎn)換器來解決版本問題, 內(nèi)容不符合本文, 這里就不多細(xì)講了, 所以還是要注意備份, 數(shù)據(jù)無價(jià), 謹(jǐn)慎操作
指令
/op指令與/deop指令:
為operator(操作員)的縮寫, 是僅次于腐竹權(quán)力的玩家
使用方法:
/op <玩家名(不是uuid)>
示例: /op okr
op分為1234四個等級, 不同等級權(quán)限有所不同
級別?
1級 可以繞過重生點(diǎn)保護(hù)(可以在出生點(diǎn)區(qū)域內(nèi)破壞放置方塊)
2級 可以使用?/clear , /difficulty , /effect , /gamemode , /gamerule , /give , /summon , /setblock 和?/tp指令 , 以及使用命令方塊
3級?可以使用 /ban、/deop、/kick 和 /op指令
4級 可以使用/stop指令
通常, 二級與三級就是標(biāo)準(zhǔn)管理員可以擁有的等級了, 托付四級于管理員實(shí)在有點(diǎn)夸張
默認(rèn)管理員等級可以在server.properties中設(shè)置, 鍵值對op-permission-level就是管理此項(xiàng)的, 修改后, 設(shè)定的op即為設(shè)置的等級.
在ops.json文件中可以修改已有管理員等級,:
結(jié)構(gòu)
[??
{
? ? "uuid": "df2c6030-17d0-3240-9fe3-42202aefee5f",
? ? "name": "okr",
? ? "level": 4,
? ? "bypassesPlayerLimit": false
? }
]
uuid便是op的uuid
name是op顯示的名稱
level即是所說的op等級
bypassesPlayerLimit表示是否可以在服務(wù)器滿員后加入
修改后重啟服務(wù)器即可應(yīng)用更改
/deop比較方便理解, 意思是取消某人的管理員, 使用后, 將從ops文件中刪除其條目, 使用方法:
/deop <玩家名(不是uuid)>
示例: /deop okr
/ban指令與/ban-ip指令:
/ban指令可以禁止玩家加入世界, 也就是踢出玩家, 但不允許在設(shè)定時間內(nèi)加入(默認(rèn)為不可再次加入)
/ban-ip指令有同樣意思, 但是是針對ip, 以防其換名加入, 使用方法:
/ban <玩家名(不是uuid)> [被ban原因(可選)]
示例: /ban okr 開掛
/ban-ip <玩家ip(不是uuid)> [被ban原因(可選)]
示例: /ban-ip 192.168.117.1 多開客戶端占人數(shù)
在這之中, 還有一個指令/banlist可以用于查看被ban人員名單, 使用方法:
/banlist
示例: /banlist
所有被ban成員均保存于banned-ips.json與banned-players.json文件中
前者存放被ban的ip信息后者存放被ban的玩家信息
banned-players.json格式:
[
? {
? ? "uuid": "df2c6030-17d0-3240-9fe3-42202aefee5f",
? ? "name": "okr",
? ? "created": "2023-08-25 11:07:02 +0800",
? ? "source": "okr",
? ? "expires": "forever",
? ? "reason": "Banned by an operator."
? }
]
uuid與name就不多講解了
created為被ban時間
source為使用ban指令的人員
expires為ban到期時間, 此處為forever為長期封禁, 封禁直到從此文件刪除這個條目,可以修改為解封時間, 到期后自動解封
reason是被ban原因, 為第三條指令參數(shù), 允許空格.
ban-ip與ban結(jié)構(gòu)差不多
區(qū)別在于鍵值對uuid與name替換為ip, 如下:
[
? {
? ? "ip": "123.123.123.123",
? ? "created": "2023-08-25 11:17:38 +0800",
? ? "source": "okr",
? ? "expires": "forever",
? ? "reason": "kaigua"
? }
]
其余鍵值對不變
/kick指令:
踢人指令啦, 與ban區(qū)別在于這只是把人踢出, 被踢玩家可以再次加入服務(wù)器,使用方法:
/kick <玩家名(不是uuid)>
示例: /kick okr
/whitelist指令:
在ban之上還有一個名為whitelist的指令, 其只允許白名單內(nèi)玩家加入服務(wù)器, 使用方法如下:
/whitelist <操作標(biāo)簽> <玩家名(可選/不是uuid)>
示例: /whitelist on
示例: /whitelist add okr
其操作標(biāo)簽有on / off / add / remove / reload / list
作用分別為:
on / off 啟用或者關(guān)閉白名單, 在server.porperties文件中鍵值對white-list也可用于操控白名單是否啟用, 使用此標(biāo)簽無需添加第二參數(shù)
add / remove 添加或刪除玩家于白名單, 使用時需要增加第二參數(shù)(玩家名)
reload 重新加載, 在服務(wù)器開啟的情況下修改whitelist.json后可以使用此標(biāo)簽在不重啟的情況下重新加載白名單,?使用此標(biāo)簽無需添加第二參數(shù)
list 列出已被加入白名單的成員,?使用此標(biāo)簽無需添加第二參數(shù)
接下來就是介紹保存白名單的文件whitelist.json, 結(jié)構(gòu)如下:
[
? {
? ? "uuid": "df2c6030-17d0-3240-9fe3-42202aefee5f",
? ? "name": "okr"
? }
]
uuid與name我就不做過多解釋了
用戶信息問題
用戶登錄信息存在于兩個文件:
usercache.json與usernamecache.json
前者為記錄服務(wù)器記載過的用戶的信息, 只是記載而已, 所以如果你往里面添加一個假的條目也不會有問題, 格式如下:
[
? ? {
? ? ? ? "name": "okr",
? ? ? ? "uuid": "df2c6030-17d0-3240-9fe3-42202aefee5f",
? ? ? ? "expiresOn": "2023-09-25 11:04:19 +0800"
? ? }
]
name與uuid不做解釋
expiresOn為記錄到期時間, 即為日志最后記錄時間, 超過時間記錄就會被刪除
后者記錄登錄玩家的名字對應(yīng)問題, 即uuid對name:
{
? "df2c6030-17d0-3240-9fe3-42202aefee5f": "okr"
}
本文件結(jié)構(gòu)只有一層, 所以沒有玩家獨(dú)立的分區(qū), 鍵為玩家的uuid, 值為玩家的name
最后
以上便是服務(wù)器基本存檔指令與文件問題了, 以上講解的包括前幾期視頻與專欄投稿足以讓你正常的開一個服務(wù)器, 之后, 我會講解服務(wù)器進(jìn)階內(nèi)容, 包括但不局限于
手動編譯服務(wù)端
給服務(wù)器添加插件
服務(wù)器的打包與docker虛擬機(jī)
如果喜歡本系列教程就為我點(diǎn)個關(guān)注吧