[杂言/吐槽]我的世界15周年庆大促&部署游戏服务器体会

 

本文首发于个人B站专栏:https://www.bilibili.com/opus/933650612285866008

1 引言

最近我的世界周年庆大促销,安卓70%off,PC端50%off。

off

作为2015年入坑的mc“老”玩家(虽说中间很长一段时间都没玩了),还是有必要支持一波的。从之前0.X版本到1.0.x版本到现在的1.20版本,无论是地图还是可玩性都大大提升了。网易代理后也没碰过,还是一直玩着基岩版,不过安卓版本我都是从外网下的基岩版安装包后直接登录玩,跳过了付费下载,PC端则甚至一直没玩过。现在算是先上车后补票了。

其实要不要购买PC端我一直在犹豫,但之前就听说过可以用服务器部署我的世界就挺好奇的,最近经过查询,确实可以部署到Linux上。这下不得不买了。折腾服务器(敲命令行)的乐趣不比游戏的乐趣少啊doge~

2 购买

2.1 安卓

安卓版好像只能从Google Play购买,巧的是我能上Google,不巧的是我没有支付渠道。在没绑定支付方式前,货币种类会随着IP变化,比如在日本IP下Minecraft是310日元,香港则好像是15港元。我本以为可以通过购买Play礼品卡就能轻松搞定,好在提前搜了一下Play礼品卡使用事项,发现大部分礼品卡可能有问题,会被锁卡,所以这方式基本不可能了。然后在部分视频评论区看到有人说如果IP在香港或新加坡,则可以绑定国内的银联借记卡(非visa信用卡也行),于是花费2.98新加坡币轻松拿下。

xjp

当初之所以选择绑定新加坡而非香港,在于选择新加坡区时不用写地址(其实香港应该也能随便写个地址,例如选择香港大学宿舍)。但是后来发现Google Play商城内容就不会跟着IP变了,商城内容固定在了新加坡区,例如如果想买香港Play商城的电子书就再也搜索不到并且买不了。后面有尝试切换到香港IP后修改支付方式,但发现绑不了银联卡了,罢了。。。

2.1 PC

PC端购买就轻松了,微软商城支持支付宝支付。Java版加基岩版捆绑共44.5,外加几张地图和coin的版本59.5。后者感觉我用不上。

pc

3 上云

本体购买完,接下来就是最具乐趣的上云环节了,我手里刚好有已经部署了个人博客网站的CentOS7服务器,平时放着也是闲置,如果我的世界不能上云我可能真不会买PC版。

3.1 Java

Java版部署相对简单,只要系统环境能跑Java就行,但在部署的时候还是踩了次坑,java -jar命令运行后报错,查了才发现Java版最新版本1.20对JDK的要求要在Java21以上,而我服务器之前部署是的Java17。(即使是经典的Java8也得折戟于此啊doge)

java.webp

运行后发现另外一个问题,手机版是基岩,链接不了Java版的服务器。问题不大,反正我也打算再部署基岩版服务器练练手。

 

3.2 基岩版服务器

基岩版服务器就稍微比较难搞了,在Linux系统上官方只支持Ubuntu,而我是CentOS,好在也能搞,就是得套一层docker,在docker里装ubuntu镜像。能run是能run,但一套流程启动下来挺难受的,要先绑定容器数据卷,每次启动停止时都得进到容器里启动关闭,还套上了screen,如果把SSH连接窗口关闭后重新进入还得:centos->docker容器内->screen内整个流程查找执行一次,测试了几次后,容器内的控制台输入指令经常乱码,感觉非常麻烦。

经历了一堆麻烦之后,第一次进入到服务器,随机生成的地图,看到了满天樱花(?)这美丽景象,值了。

be_firsttime.webp

但后面停止服务器后重启了几次测试的时候还是感觉很麻烦。然后,第二天华为云服务器出来救场了,新人低价服务器,直接选择ubuntu原版镜像,解压即用,剩了一堆流程。

"nohup bash -c 'LD_LIBRARY_PATH=. ./bedrock_server' >> /opt/mcbe/log.txt 2>&1 &"

以上指令在启动服务后同时将服务器日志输出到指定文件里,方便随时查看本地日志。要停止服务直接找到服务的pid后'kill -9 PID'。当然也有缺点,只输出日志忽视了服务器控制台的输入,没法输入指令控制如“显示坐标”,“死亡不掉落”等命令。(当然在转移服务器后这几项设置我也开了,但是是我之前CentOS服务器设置过后迁移地图带来的?还是我之前在新服务器测试时通过服务器控制台输入过?就不得而知了)

在此吐槽一下基岩版服务器的日志信息,Java版日志会显示用户登录,文字聊天,角色死因等信息;而基岩版只记录了用户登录登出信息,同时还一直记录“心跳”日志,是不是报无用的error信息,之前搜索这条错误日志后看到有外国有人吐槽官方懒,不修复这个服务器日志bug。

总之,部署后实现了基岩版电脑和手机数据联通,同一个用户等级和背包物资能同步(当然不能同一账号两边同时登录)。但服务器的时间我记得是不会停的,即使服务器没人,时间也会流失。(不会睡个觉登录后村庄村民消失殆尽了吧doge。。。)

手机端视图:

be_mobile.webp

电脑端视图:

be_pc.webp

 

4. 尾言

如果只是购买游戏后直接玩,那是非常简单的,部不部署服务器可能也没什么不同,如果没有手机端和电脑端同步的需求,或许完全没必要。

折腾服务器本身可能耗时耗精力,尤其是需要解决报错,需要一定的linux基础或编程意识,如果也是用CentOS服务器的也可能得了解docker指令(这次操作下来发现我确实很多docker指令开始忘了,太久没在linux部署Java也忘了怎么部署环境了)。后续服务器运行起来后也要考虑优化,属实是件费力不讨好的事。但对我来说,很想引用一句话(来自关于音乐音质讨论的视频BV1Gu4y1K7aa,13分55秒)

归根结底,折腾的乐趣,就在于折腾本身。人类就是喜欢折腾**所有有区别的东西,甭管这个区别有没有意义,但只要它有区别,就得折腾下。

此外,再次回到MC,导入了以前的地图,仿佛又记起了以前的记忆。

刚开始入MC还是初中,玩创造建的房子只考虑“奢”,一整层楼全是黄金块or钻石块or绿宝石块,追求面积结果是正方体的多层屋子,放现在眼光看就是"土",笑死,可惜当初在建海上过山车的时候不小心迷路了,当时也没有点床设置重生点的方法,被迫删除。

而后在见过几个地图后也开始自己盖,虽说稍微美观了一点点,但还是有点“独特性”,还曾想在别墅附近“全面防御”,“火力优势”,笑死。这段时间也经常用一键生成mod搞装饰,还挺有意思。

my01

my02

my03

再后面就开始玩生存,从开始的挖山挖房子,到逐渐积累了物资(当然开了死亡不掉落,不然有时候挖了一堆好东西死了就很难受),开始装饰房子,到找到一个村庄抢村民房子扩建改造成自己的第二据点。(老版本的村庄和现在比起来真的穷啊,村民当时没有职业属性也没法交易,对我的唯一作用可能就是他们的房子了。真的又小又穷)。到后面物资约积攒越多,(当时很多东西都舍不得用,一直只用石剑石斧,甚至都很少穿装备),宝箱分类越来越细,闲的没事开始挖连接几座房子的地下隧道(当时为了夜间也能穿梭),后面又闲的扩建到隧道,在隧道里骑马。也逐渐开始注重美观,开始扩建前面两座房子,开始建第三座大别墅,三层大农场,三层大牧场等等等等。

live01

live02

live03

live04

live05

未来有时间,会在个人博客上再更新部署服务器的详细过程和代码及演示,也会考虑补充上面的杂言。或许若干年后再看到,又是另一番回味。一个游戏版本,一张地图,类似于一张快照snapshot,记录这一个时间点,记录这当时玩家的生活状态,记录着一段记忆......

来日再鸽。