MC我的世界1.12.2开服教程(Mohist端)

前言

准备6月份了,有个之前玩的挺好的一个朋友提议一下要不要暑假搞一个关于星系生存的联机,我灵机一想,虽然距离上一次游玩也才2年多时间,然后又看了看官网更新了一下模组,想着就试一试的态度成功拉拢了几个好同学入坑。其实你看到这篇文章的时候这个服务端已经上线到服务器(Linux)上了,只是我简单想记录一下而已,因为关于开服的教程还蛮少的。

准备

  1. 1.12.2客户端(还想着我给你找?网上一堆找一个可以装mod就行了)
  2. 1.12.2Mohist核心
  3. 一台云服务器(要搞联机的,说实话现在内网穿透的教程挺多的,可以移步到那边也行)
  4. ssh工具(用于连接服务器,这里我使用Xshell)
  5. java8环境:1、客户端(Oracle),2、服务器(open9)(选择java8和open9)

以上环境都准备差不多了,就准备开搞了
这里说一下为什么客户端和服务器使用的java8不一样

其实本来我也是想用open9在客户端上的,用了几次发现有些mod它不支持就没用了,而本来服务器我也是想用oracle的,结果发现它居然可以运行起来。。。

主要是因为open9以极强大的节约内存空间的能力,我服务器配置才2c4g,使用了Oracle直接内存飙满,而open9却节省了一半的内存就成为了我的首选。而且还有一个原因就是好像open9对Linux会比较友好

开始动工

使用xshell软件连接远程服务器

#创建一个目录/opt/mc/server
mkdir /opt/mc/server -p

#创建一个java目录
mkdir /opt/mc/java -p

#上传Mohist核心到服务器上的server目录下
#我用的Xshell直接拖到指定目录松开即可

file

创建普通用户代替root

这边的话我们先不要急,由于我们一直处于root用户的环境下,很容易对其他其他文件造成误操作,这时候我们可以创建一个新的普通用户daibaobao,用于管理我们的服务器。

当我们需要root权限的时候,可以使用sudo命令进行提权即可

useradd用法:

useradd [-mMnr][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-s <shell>][-u <uid>][用户帐号]

useradd -D [-b][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-s <shell>]

参数说明:

-c<备注>  加上备注文字。备注文字会保存在passwd的备注栏位中。
-d<登入目录>  指定用户登入时的起始目录。
-D  变更预设值.
-e<有效期限>  指定帐号的有效期限。
-f<缓冲天数>  指定在密码过期后多少天即关闭该帐号。
-g<群组>  指定用户所属的群组。
-G<群组>  指定用户所属的附加群组。
-m  自动建立用户的登入目录。
-M  不要自动建立用户的登入目录。
-n  取消建立以用户名称为名的群组.
-r  建立系统帐号。
-s <shell>   指定用户登入后所使用的shell。
-u <uid>  指定用户ID。

#创建普通用户daibaobao
useradd daibaobao
passwd daibaobao

#授权sudoers
whereis sudoers
ls -l /etc/sudoers
chmod -v +w /etc/sudoers

#将普通用户daibaobbao添加到/etc/sudoers
vim /etc/sudoers
#找到并添加
## Allow root to run any commands anywhere 
root    ALL=(ALL)       ALL
daibaobao ALL=(ALL)     ALL

#回收权限
chmod -v -w /etc/sudoers

添加完sudoers后,我们的普通用户daibaobao正式拥有sudo的权限了
那接下来我们就使用普通用户进行后面的操作吧!

#切换到普通用户
su - daibaobao
sudo ls -l
#输入密码,成功执行

file

禁用root用户进行远程连接

普通用户拥有sudo权限后就没有使用root用户进行裸奔了,所以干脆直接禁用会好一点

sudo vim /etc/ssh/sshd_config
# Example of overriding settings on a per-user basis
#Match User anoncvs
#       X11Forwarding no
#       AllowTcpForwarding no
#       PermitTTY no
#       ForceCommand cvs server

UseDNS no
AddressFamily inet
SyslogFacility AUTHPRIV

#这一行改为no
PermitRootLogin no

#保存退出

#重启sshd服务
sudo systemctl restart sshd

测试一下是否可以使用root用户
发现,即使我们输入正确的密码也无法远程登录root用户,不过这都是一下简单的操作,更深入的内容请移步付费内容~~
file

创建一个mc用户

由于仅仅创建上面的普通用户代替root貌似还不够,因为万一,我们的Mohist服务端被非法分子侵入了,则直接就是daibaobao用户,这也是非常危险的。所以我们需要用一个专门的用户运行我们的服务端,这样即使服务端被侵入了也只是mc用户而已,对我们的系统是没有多大的影响。

#创建一个不能用于登录只能用于运行服务的mc用户
sudo useradd -d /opt/mc -m -s /bin/bash mc

#由于之前是使用root创建的mc目录的,所以我们需要对该目录下的所有文件重新归属为mc用户
sudo chown mc:mc -R /opt/mc/

#切换到mc用户
sudo su - mc

接下来我们就需要正式开始部署mc的服务端了,讲了这么久才到正题,抱歉抱歉~

#上传Java8(open9)到服务端
cd /opt/mc/java/
tar -zxvf ibm-semeru-open-jdk_x64_linux_8u332b09_openj9-0.32.0.tar.gz 
rm -rf ibm-semeru-open-jdk_x64_linux_8u332b09_openj9-0.32.0.tar.gz
cd /opt/mc/java/jdk8u332-b09/jre/bin
#其实到这一步,本应该要配置环境变量,为了简化操作直接引用java的绝对路径即可
#复制当前路径+上java,后面有用
pwd
/opt/mc/java/jdk8u332-b09/jre/bin/java

#编写我们的Mohist端启动脚本
cd /opt/mc/server/
vim Start.sh
/opt/mc/java/jdk8u332-b09/jre/bin/java -Xms512M -Xmx2048M -XX:+UseG1GC -XX:+AggressiveOpts -XX:+UseCompressedOops -jar mohist-1.12.2-321-server.jar

#赋上执行权限
chmod +x Start.sh

#一键开机
./Start.sh

静静等待它直接自动更新,可能会有的同学到这一步会更新失败,是因为资源都是国外的,可以相应设置一下代理(这里就不涉及这块知识讲解)
file

好了到这一步就需要手动输入一下true同意一下协议才能继续往下操作,回车
file

到了这一步基本上就已经差不多了,已经看到开服成功了
file

#我们先暂时停止服务端,进行后面的配置文件设置
stop

file

Mohist端的相关配置

可以看到,我们server目录下已经生成了很多相关的配置文件
file

配置server.properties

vim server.properties
#只是简单的把这个改为false而已,其他游戏规则根据服主的设定进行
#这个是否只支持正版登录,不要笑了,不要笑了,谁买得起150多块的正版,起码我买不起
#关掉这个,我们离线版本呢才能进入服务器
online-mode=false

到这里,你以为结束了?ok了?No,No,No

由于是在公网的环境下,我们的防火墙是必须要保持开启的,不然我们前面做了那么多安全相关的操作是为了什么?

你一手systemctrl stop firewall就能解决问题?

默认的mc服务端的端口为25565,所以,我们的防火墙开放这个端口,咋们就可以愉快的玩耍了!

#退出mc用户,切换回普通用户
exit 
#查看已经开放的端口,我就不给你看了,隐私这东西谁都有嘛~
sudo firewall-cmd --list-ports --permanent
#开放25565端口
sudo firewall-cmd --add-port=25565/tcp --permanent
success

#重新加载firewall配置
sudo firewall-cmd --reload

1.12.2客户端登入服务器

这时候,我们终于可以开机进入服务器了

开机,取决于你们的1.12.2客户端,网上一堆,随便下一个可以使用mod客户端即可

#等会等会,先把服务端起来先,使用mc用户
...
#省略一万行代码

欧耶!成功登录进入我们的服务器了
file

服务端显示用户进入!
file

可以和基友一起愉快的玩耍了~!!!

至于插件,模组之类七七八八的东西,只能由各位服主进行更深入配置了!

扩展内容

想不到吧?居然还有扩展内容_

简单讲一下吧,这里就是关于Mohist服务端在服务器上保持后台运行,因为我们的Xshell一旦断开连接,当前连接shell下的所有进程都会关闭,因而我们的服务端也会关闭,这就不利于服务端的稳定性。

所以这个扩展内容就是让你放开双手,放下一切,关上电脑。

#下载screen,这是让你保持后台连接的
sudo yum install -y screen

screen语法:

screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s <shell>][-S <作业名称>]

参数说明:

-A  将所有的视窗都调整为目前终端机的大小。
-d <作业名称>  将指定的screen作业离线。
-h<行数>  指定视窗的缓冲区行数。
-m  即使目前已在作业中的screen作业,仍强制建立新的screen作业。
-r <作业名称>  恢复离线的screen作业。
-R  先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
-s <shell>  指定建立新视窗时,所要执行的shell。
-S <作业名称>  指定screen作业的名称。
-v  显示版本信息。
-x  恢复之前离线的screen作业。
-ls或–list  显示目前所有的screen作业。
-wipe  检查目前所有的screen作业,并删除已经无法使用的screen作业。

#创建一个mc视窗
sudo su - mc
screen -S mc
cd /opt/mc/server
./Start.sh

#退出当前视窗
Ctrl+a+d

#查看正在运行后台任务
screen -ls

file

这下,你真的可以松开双手了!

关闭服务器

#切换到后台
screen -r mc

#停止服务器
stop

总结

没有总结~

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
MC 1.12.2是Minecraft游戏的一个版本,而mod开发是指为游戏添加自定义功能和内容的过程。下面是一个简要的MC 1.12.2 mod开发教程: 1. 下载和安装相应的开发工具:首先需下载并安装Java JDK和Eclipse这些开发工具。Java JDK是编写mod所需的Java开发环境,Eclipse是一个常用的Java集成开发环境。确保安装的版本与MC 1.12.2兼容。 2. 创建一个新的Eclipse项目:在Eclipse中创建一个新的项目,设定项目名称和路径。 3. 下载和导入Minecraft Forge库:Minecraft Forge是一个用于mod开发的开源工具包。去Minecraft Forge官方网站下载最适合MC 1.12.2的版本,并将其导入Eclipse项目中。 4. 编写mod代码:根据自己的需要,编写自定义mod的代码。可以使用Java语言和Minecraft Forge提供的API来创建新的方块、物品、生物等内容,并实现自定义的游戏功能。 5. 运行和测试mod:在Eclipse中配置好mod的启动参数,并运行游戏进行测试。确保mod正常工作,并无报错或冲突。 6. 导出和发布mod:当mod开发完成后,可以将其导出为一个可安装的文件,例如.jar文件。然后将这个文件分享或发布给其他玩家。 请注意,上述是一个简要的mod开发教程,其中还涉及到很多细节和深入的知识。在实际开发过程中,还需要学习和掌握Minecraft Forge的API文档、Java编程技巧等知识,以提升mod的质量和功能。希望这个简要的教程能够为您提供一些帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值