(开服好几次了但是间隔时间太长每次都会忘掉,记录一下)
步骤:
1、sudo add-apt-repository ppa:linuxuprising/java
2、sudo apt update
sudo apt install oracle-java16-installer
控制台出现同意条款的话可以用tab切换光标来ok确认;
然而在安装过程进度条卡死了,重启后没发现java16安装成功,现在在重装系统重试中
(以上通过ppa源便捷安装java16的方法请自行尝试,反正我这边一直失败)
1、下载jdk并解压
在自己的电脑上去官网(https://www.oracle.com/java/technologies/javase-jdk16-downloads.html)下载java16的jdk包(选Linux x64 Compressed Archive那个下载,目前下载到的是应该是jdk16.0.1版本),然后把压缩包文件传输到云服务器(我这里推荐用FileZilla),比如传输到/usr/java/oracle文件夹下(没有的文件夹可以自己建),然后在云服务器控制台输入以下命令:
cd /usr/java/oracle sudo tar -xzvf jdk-16.0.1_linux-x64_bin.tar.gz
后一条是解压缩命令,解压出来一个jdk-16.0.1文件夹。
2、环境配置
控制台输入命令:
sudo nano /etc/profile
显示文件编辑界面。按方向键↓将光标划到文件最下方,输入以下内容:
# Java 16 JAVA_HOME=/usr/java/oracle/jdk-16.0.1 PATH=$PATH:$HOME/bin:$JAVA_HOME/bin export JAVA_HOME export PATH
然后Ctrl+O并回车保存,Ctrl+X退出编辑界面。
3、测试
控制台命令输入:
java -version
若显示"java version "16.0.1"....."之类的,则说明java16安装完成。若没有,并出现Command "java" not found提示,则输入以下命令(别少了空格):
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/java/oracle/jdk-16/bin/java" 1 sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/java/oracle/jdk-16/bin/javac" 1
再java -version测试,显示版本号,安装完成。
去我的世界wiki里下载mc1.17的服务端文件server.jar,通过文件传输到云服务器中你想要的文件夹里,比如/opt/mc117。在自己的电脑上创建文本txt,输入:
java -Xmx5120M -Xms1024M -jar server.jar nogui
(其中-Xmx是最大可使用内存,-Xms是最小可使用内存,请根据自身云服务器的情况设置)
保存,文件重命名为run.bat,通过文件传输到/opt/mc117(跟server.jar同一目录下)。然后赋予权限命令:
chmod a+x run.bat
这样就有权限执行run.bat文件了,输入./run.bat运行文件,进行开服,但是马上就崩了。不要着急,此时同一目录下多出了一个log文件夹和名为eula.txt和server.properties两个文件。崩服错误会提示你去编辑eula.txt文件将内容里的eula=false改为eula=true。保存txt文件,这之后再./run.bat。等待开服代码执行,看到100%什么的代表开服成功。可以自己电脑上客户端进游戏输入服务器ip测试一下。
不过还没有结束。在关闭服务器会话的时候你会发现游戏服务器也会断掉。这需要在服务器新开窗口执行游戏服务器进程。这里用到screen。首先screen -ls查看是否安装screen。若没有则输入sudo apt-get -y install screen安装。安装完成后输入:
screen -S mc
代表新建名为mc的窗口,这里mc你可以换成你想要的名字。回车后控制台会跳到mc窗口中。然后在mc窗口里执行开服命令:
cd /opt/mc117 ./run.bat
开服完成后你即使关闭服务器会话窗口,也不会切断游戏服务器了。接下来就可以畅快找小伙伴mc了。
另外还有几个比较重要的screen指令:
在mc窗口里想回到主窗口时:Ctrl+A+D
在主窗口想切回mc窗口时:screen -r
列出多个窗口:screen -ls (能查看所有窗口的id,在恢复指定id窗口的时候输入screen -r <指定id>
中止窗口:Ctrl+D