一、下载1.12.2客户端(还想着我给你找?网上一堆找一个可以装mod就行了)
二、下载1.12.2Mohist核心
三、一台云服务器(要搞联机的,说实话现在内网穿透的教程挺多的,可以移步到那边也行)
四、ssh工具(用于连接服务器,这里我使用Xshell)
五、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直接拖到指定目录松开即可
复制代码
创建普通用户代替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
- #输入密码,成功执行
复制代码
禁用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用户,不过这都是一下简单的操作,更深入的内容请移步付费内容~~】
创建一个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
复制代码静静等待它直接自动更新,可能会有的同学到这一步会更新失败,是因为资源都是国外的,可以相应设置一下代理(这里就不涉及这块知识讲解)
好了到这一步就需要手动输入一下true同意一下协议才能继续往下操作,回车
到了这一步基本上就已经差不多了,已经看到开服成功了
- #我们先暂时停止服务端,进行后面的配置文件设置
- stop
复制代码 Mohist端的相关配置可以看到,我们server目录下已经生成了很多相关的配置文件 配置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客户端即可 可以和基友一起愉快的玩耍了~!!! 至于插件,模组之类七七八八的东西,只能由各位服主进行更深入配置了! 附加LIUNX后台运行操作! 简单讲一下吧,这里就是关于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
复制代码这下,你真的可以松开双手了! 关闭服务器 - #切换到后台
- screen -r mc
- #停止服务器
- stop
复制代码
|