Linux远程服务器环境搭建

​ 前段时间搭建博客的时候为远程服务器配置了许多环境,由于其中踩了一些坑,故想记录下来。今日心情不错,特此一录。

​ Docker是用于搭建环境的不二选择,本文采用传统的方式进行环境搭建,以后可能会出一个Docker的版本。

Linux远程服务器环境搭建如何选购云服务器?一些很重要的Linux命令:查询某个服务占用的端口号:强大的systemctl:Mysql服务器搭建安装过程:MQTT服务器搭建:1.MQTT协议实现方式2.MQTT客户端3.MQTT服务器4.MQTT协议中的订阅、主题、会话5.MQTT协议数据包结构mosquitto简介1. apt-get命令安装2. 修改配置文件3. 启动4. 其他处理Frp服务器搭建如何安装:客户端搭建:配置启动文件:客户端部署模板:配置代理访问:点对点透传:Tomcat服务器安装:服务器安装:我的世界服务器安装:如何使用:

Mysql远程环境 MQTT物联网服务器环境 Frp内网穿透 java环境 python环境 Tomcat服务器配置 Ftp服务器搭建

如何选购云服务器?

​ 云服务器是一台部署在云端的一台远程主机,通过ssh协议可以想在本地一样使用云服务器。ssh协议属于TCP/IP协议族中的一种用于远程登录的安全的通讯协议,它位于体系结构中的应用层,实际是使用Tcp协议进行通讯。常见的远程登录有telnet和ssh两种,但ssh协议是十分安全的,因为它在通讯的过程中,会对需要通讯的消息进行加密,实际传输的都是密文,十分安全,故而经常用于远程控制服务器。

​ 拥有一台远程服务器是很酷的一件事情,拥有一台服务器可以干许多事情,例如搭建一台MQTT服务器,然后可以使用ESP8266或ESP32等芯片轻松实现物联网应用。搭建一台Frp服务,轻松实现内网穿透,解决众多小伙伴没有公网ip的烦恼。搭建一台Mysql服务器,实现数据的远程存储。配置Tomcat服务器,搭建个人网站或博客,或者搭建一台我的世界服务器等等…

​ 现在网上有许多服务器的供应商,例如阿里云,腾讯云等,每个平台新用户或双十一的时候都有巨大折扣,我去年的一台一年期的服务器就是在双十一的时候花60多块钱买的。购买服务器时主要看三个指标:**1.性能指标:**例如1核2G或2核4G,主要体现云服务器的性能。**2.带宽:**带宽也是一个很重要的指标,带宽除以8就是实际的最大网速,对于网站,游戏服务器等并发量可能会比较大的应用,需要选取合适的带宽。3,是否是境外服务器:对于境外服务器,搭建网站的时候不需要备案,如何时境内的,根据相关法律法规的要求,必须要进行备案。ps:网站备案程序十分麻烦,建议早做准备,我前段时间为我的域名备案,一顿操作后还让我苦等了半个月,其中艰辛不足为外人道也。。。如果是境外服务器还可以搭建梯子,frp就可以实现Socket代理和http代理,实现科学上网。但境外服务器的价格普遍比国内服务器的价格贵许多。

ps:新用户购买服务器有许多优惠,强烈推荐各位到万能的淘宝上进行购买,我前几天就在上面买了个一年期的2核4G的服务器,才花了50多块钱。。。

一些很重要的Linux命令:

这里介绍几个很常用且很实用的linux命令:对于基础的文件管理,权限管理,用户管理等基础知识不进行赘述。

查询某个服务占用的端口号:

1.查询某个服务的进程PID:

ps -aux | grep 服务名

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4Dh5J61t-1636729425688)(https://i.loli.net/2021/10/17/pgLDkYKZwar8jVy.png)

该命名结合管道符可以用来查询某个服务的pid号,可以用来查看某个服务是否在运行

2.通过PID号查询该服务开启的端口:

每个服务一般都是通过端口与外界或其他应用程序进行数据交流。


netstat -nap | grep [pid]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1l5JUrgt-1636728972823)(https://i.loli.net/2021/10/17/Jto7bxE63IiZfmN.png)]

注意第三列表示本机ip和进程开放的端口号,第四列表示与本机连接的远程主机的 ip和端口号,ipv6本机地址用::表示。注意:第二列如果是0.0.0.0:端口号表示可以由任意远程主机进行连接,如果是127.0.0.1:端口号表示只能由本机ip进行访问.我配置Mysql远程连接的时候就遇到了这个坑。

如果要结束某个进程直接用kill PID号就可以了。

强大的systemctl:

​ Linux中的systemctl主要用来管理主机中的一些进程。你可以通过它将某些命令或shell脚本配置为服务。然后通过systemctl工具来管理这些服务,你可以用systemctl方便的启动或停止某些服务,或者将其配置为开机自启。

​ systemctl是十分强大的,你可以将一些命令,脚本或者应用程序配置为服务,然后通过它进行管理。配置为服务其实就是建立一个 服务名.service文件,并把它放在**/usr/lib/systemd/system目录下**。


[Unit]
Description=服务描述
After=服务依赖(再这些服务后启动本服务)
 
[Service]
Type=服务类型
ExecStart=启动命令
ExecStop=终止命令
ExecReload=重启命令
 
[Install]
WantedBy=服务安装设置

这是一个服务配置文件的示例,将其放在/usr/lib/systemd/system目录下之后需要运行以下命令让系统重新读取所有服务文件。


systemctl daemon-reload

]

]

以上命令查看/usr/lib/systemd/system目录下的Frp服务端的配置文件,可以发现它时间上还是通过运行/usr/local/frp/frps的可执行程序并指定配置文件-c /usr/local/frp/frps.ini来运行服务的。


systemctl enable 服务名 # 启用开机自启
systemctl disable 服务名 # 禁用开机自启
systemctl status tomcat.service #(tomcat服务详细信息)
systemctl start   服务名   #启动某服务
systemctl stop   服务名    #停止某服务
systemctl restart   服务名     #重启某服务
systemctl list-units --type=service  #显示所有已启动的服务
systemctl list-unit-files    #查看开机自启的服务

这里只是大概讲了以下systemctl的用途。想要了解更多的小伙伴可以自行去学习。

Mysql服务器搭建

MySQL是一个关系型数据库管理系统,由瑞典[MySQL AB](https://baike.baidu.com/item/MySQL AB/2620844) 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。

本文推荐从 Ubuntu 仓库上安装 MySQL。非常简单,

安装过程:

1.更新软件源


sudo apt update

2.安装 MySQL 5.7


sudo apt install mysql-server -y

3.配置mysql:

对于刚安装的 MySQL,你应该运行它提供的安全相关的更新命令。就是:


sudo mysql_secure_installation

这样做首先会询问你是否想使用 “ 密码有效强度(validate password component)”。如果你想使用它,你将必须选择一个最小密码强度(0 – 低,1 – 中,2 – 高)。你将无法输入任何不遵守所选规则的密码。如果你没有使用强密码的习惯(本应该使用),这可能会配上用场。如果你认为它可能有帮助,那你就键入 y或者 Y,按下回车键,然后为你的密码选择一个强度等级和输入一个你想使用的密码。如果成功,你将继续强化过程;否则你将重新输入一个密码。

但是,如果你不想要此功能(我不会),只需按回车或任何其他键即可跳过使用它。

对于其他选项,我建议开启它们(对于每一步输入 y 或者 Y 和按下回车)。它们(依序)是:“ 移除匿名用户(remove anonymous user)”,“ 禁止 root 远程登录(disallow root login remotely)”,“ 移除测试数据库及其访问(remove test database and access to it)”。“ 重新载入权限表(reload privilege tables now)”。

4.重启mysql服务:


sudo systemctl restart mysql.service

5.使用mysql:


mysql -h host_name -u user -p

  • -h 用来指定一个主机名(如果这个服务被安装到其他机器上,那么会有用;如果没有,忽略它)
  • -u 指定登录的用户
  • -p 指定你想输入的密码.

要从服务端断开连接和离开 MySQL 提示符,输入:


QUIT

6.开启远程访问:

在默认情况下,MySQL 数据库仅监听本地连接。如果想让外网远程连接到数据库,我们需要修改配置文件,让 MySQL 可以监听远程固定 ip 或者监听所有远程 ip。

首先打开 mysqld.cnf 配置文件。


sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

默认情况下, bind - address 的值为 127.0.0.1 ,所以只能监听本地连接。我们需要将这个值改为远程连接 ip 可访问,可使用通配符 ip 地址 *::0.0.0.0 ,当然也可以是单独的固定 ip,这样就仅允许指定 ip 连接,更加安全。在某些 MySQL 版本的配置文件中,没有 bind - address 这一行,这种情况下,在合适的位置加上就可以了。

然后重启 MySQL 服务,使刚刚编辑的 mysqld.cnf 文件生效。

MQTT服务器搭建:

MQTT(Message Queuing Telemetry Transport)消息队列遥测传输协议,是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。 . MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。 . MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。

1.MQTT协议实现方式

实现MQTT协议需要客户端和服务器端通讯完成,在通讯过程中,MQTT协议中有三种身份:发布者(Publish)、代理(Broker)(服务器)、订阅者(Subscribe)。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。 . MQTT传输的消息分为:主题(Topic)和负载(payload)两部分:

  • (1)Topic,可以理解为消息的类型,订阅者订阅(Subscribe)后,就会收到该主题的消息内容(payload);
  • (2)payload,可以理解为消息的内容,是指订阅者具体要使用的内容。
2.MQTT客户端

一个使用MQTT协议的应用程序或者设备,它总是建立到服务器的网络连接。客户端可以:

  • (1)发布其他客户端可能会订阅的信息;
  • (2)订阅其它客户端发布的消息;
  • (3)退订或删除应用程序的消息;
  • (4)断开与服务器连接。
3.MQTT服务器

MQTT服务器以称为"消息代理"(Broker),可以是一个应用程序或一台设备。它是位于消息发布者和订阅者之间,它可以:

  • (1)接受来自客户的网络连接;
  • (2)接受客户发布的应用信息;
  • (3)处理来自客户端的订阅和退订请求;
  • (4)向订阅的客户转发应用程序消息。
4.MQTT协议中的订阅、主题、会话
一、订阅(Subscription)

订阅包含主题筛选器(Topic Filter)和最大服务质量(QoS)。订阅会与一个会话(Session)关联。一个会话可以包含多个订阅。每一个会话中的每个订阅都有一个不同的主题筛选器。

二、会话(Session)

每个客户端与服务器建立连接后就是一个会话,客户端和服务器之间有状态交互。会话存在于>一个网络之间,也可能在客户端和服务器之间跨越多个连续的网络连接。

三、主题名(Topic Name)

连接到一个应用程序消息的标签,该标签与服务器的订阅相匹配。服务器会将消息发送给订阅所匹配标签的每个客户端。

四、主题筛选器(Topic Filter)

一个对主题名通配符筛选器,在订阅表达式中使用,表示订阅所匹配到的多个主题。

五、负载(Payload)

消息订阅者所具体接收的内容。

5.MQTT协议数据包结构

在MQTT协议中,一个MQTT数据包由:固定头(Fixed header)、可变头(Variable header)、消息体(payload)三部分构成。MQTT数据包结构如下:

  • (1)固定头(Fixed header)。存在于所有MQTT数据包中,表示数据包类型及数据包的分组类标识。
  • (2)可变头(Variable header)。存在于部分MQTT数据包中,数据包类型决定了可变头是否存在及其具体内容。
  • (3)消息体(Payload)。存在于部分MQTT数据包中,表示客户端收到的具体内容。

mosquitto简介

Mosquitto是用C语言实现MQTT协议的Broker。是一款实现了消息推送协议 MQTT v3.1 的开源消息代理软件,提供轻量级的,支持可发布/可订阅的的消息推送模式,使设备对设备之间的短消息通信变得简单,比如现在应用广泛的低功耗传感器,手机、嵌入式计算机、微型控制器等移动设备。一个典型的应用案例就是 Andy Stanford-ClarkMosquitto(MQTT协议创始人之一)在家中实现的远程监控和自动化。

Mosquitto官网

Mosquitto最新的源码

1. apt-get命令安装

# 安装mosquitto
sudo apt-get install mosquitto
# 安装客户端
sudo apt-get install mosquitto-clients
# 安装设备端
sudo apt-get install mosquitto-dev
123456

2. 修改配置文件

配置文件地址:/etc/mosquitto/mosquitto.conf 从上面的源码地址中下载源码,然后找到mosquitto.conf文件,将其替换掉/etc/mosquitto/mosquitto.conf文件。 你也可以根据需求,阅读手册自己写mosquitto.conf

3. 启动

mosquitto -c /etc/mosquitto/mosquitto.conf

4. 其他处理
  • 查看运行状态 systemctl status mosquitto
  • 开启/关闭systemctl start/stop mosquitto
  • 查看进程ps -aux | grep mosquitto
  • 查看1883端口占用netstat -apn | grep 1883
  • 关闭进程kill -9 pid

Frp服务器搭建

frp是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务, 支持tcp, udp, http, https等协议类型,并且web服务支持根据域名进行路由转发。 frp内网穿透主要用于没有公网IP的用户,实现远程桌面、远程控制路由器、 搭建的WEB、FTP、SMB服务器被外网访问、远程查看摄像头、调试一些远程的API

]

如何安装:

1.一个域名(www.test.xyz

2.一台有公网IP的服务器(阿里云、腾讯云等都行)

3.一台内网主机

4.下载frp,选择适合的版本下载

解压下载的压缩包并进入相应的目录。

配置frps.ini服务器端配置文件:

[common]
bind_port = 7000         # 服务端与客户端通信端口
dashboard_port = 7500    # 后台管理端口
dashboard_user = admin   # 后台登录用户名
dashboard_pwd = admin

vhost_http_port = 7002   # http穿透端口
vhost_https_port = 7003  # https穿透端口
max_pool_count = 50

token = aaa123          # 身份验证令牌,frpc要与frps一致
tcp_mux = true

log_file = /usr/local/frp/frps.log  # 日志相关
log_level = info
log_max_days = 3

authentication_timeout = 0  # 服务器与客户端时间相差15min会连接失败,0表示不验证
subdomain_host = test.xyz   # 注册的域名
privilege_mode = true


启动服务器:


frps -c frps.ini

启动成功后,可以访问后台管理界面(这里举例地址:ip地址:7500)

客户端搭建:

编辑frpc.ini配置文件。


[common]
server_addr = 10.10.xxx.xxx  # 公网服务器ip
server_port = 7000          # 公网服务端通信端口

token = aaa123              # 令牌,与公网服务端保持一致
tcp_mux = true

log_file = /usr/local/frp/frpc.log  # 日志相关
log_level = info
log_max_days = 3
authentication_timeout = 0          # 服务器与客户端时间相差15min会连接失败,0表示不验证

[ssh]                           # 添加ssh节点 
type = tcp
local_ip = 192.168.xxx.xxx
local_port = 22
remote_port = 7001              # 指明由公网服务器的7001端口代理

[web01]                         # 添加web节点
type = http
local_ip = 192.168.xxx.xxx
local_port = 8080               # 本地8080端口可以通公网服务器7002端口访问,这里我的8080跑着tomcat
subdomain = web01               # 自定义子域名

客户端启动:


frpc -c frpc.ini

配置启动文件:

vim /etc/systemd/system/frps.service


[Unit]
Description=frps daemon
After=syslog.target  network.target
Wants=network.target

[Service]
Type=simple
ExecStart=/root/frp_0.17.0_linux_amd64/frps -c /root/frp_0.17.0_linux_amd64/frps.ini
Restart= always
RestartSec=1min

[Install]
WantedBy=multi-user.target

注意ExecStart中要配置成自己的绝对路径,绝对路径可以通过pwd命令查询。


#启动frps
systemctl daemon-reload
systemctl start frps

#设置为开机启动
systemctl enable frps

客户端部署模板:

[common]
server_addr = your_server_ip               #VPS服务器IP
server_port = 7000                         #端口,与服务端bind_port一致  
privilege_token = 123456                   #自定义值,需和服务端frps.ini的一致

login_fail_exit = false                    #失败时自动重连

admin_addr = 127.0.0.1                     #开启后可通过热加载方式进行 FRP 客户端配置变更  
admin_port = 7400                          #可以通过 frpc reload 命令来动态加载配置文件,通过 frpc status -c ./frpc.ini 命令在 FRP 客户端查看当前代理状态信息。

#通过 TCP 访问内网机器:
#1.公网通过ssh访问内部服务器  
[ssh]
type = tcp                                 #连接协议 
local_ip = 127.0.0.1                       #内网服务器ip,填你需要转发到的目的ip
local_port = 22                            #ssh默认端口
remote_port = 8000                         #自定义的访问内部ssh端口号

#2.公网通过ftp(如使用WinSCP)访问内部服务器  
[ftp]
type = tcp
local_ip = 127.0.0.1                            
local_port = 21,10000-10010                #FTP默认端口
remote_port = 2121,10000-10010             #自定义的远程访问端口  使用:打开WinSCP,填写主机IP(VPS的公网IP)、端口(自定义的远程访问端口2121 )、用户名密码(树莓派的用户名和密码) 。也可以通过访问  ftp://服务端IP:2121

#3.公网通过VNC远程访问图像化内部服务器
# 自定义一个配置名称,格式为“[range:名称]”,放在开头
[range:VNC]
type = tcp
local_ip = 127.0.0.1
local_port = 5900                          #vnc默认端口
remote_port = 5900                         #远程端口,ssh远程树莓派时使用的端口  

#通过 UDP 访问内网机器
[dns]
type = udp
local_ip = 8.8.8.8
local_port = 53
remote_port = 8500

#通过 FRP 客户端代理其它内网机器访问外网
[http_proxy]
type = tcp
remote_port = 9000
plugin = http_proxy

#通过自定义域名访问部署于内网的 Web 服务
[web]  
type = http                                #访问协议
local_ip = 127.0.0.1                       #内网服务器ip 
local_port = 80                            #内网web服务的端口号  
custom_domains = www.dengxj.com,dengxj.com   
#所绑定的公网服务器域名,一级、二级域名都可以,绑定多个域名时用英文“,”分开

配置代理访问:

​ 在只能通过代理访问外网的环境内,FRP 客户端支持通过 HTTP_PROXY 参数来配置代理和 FRP 服务端进行通信。要使用此功能可以通过设置系统环境变量 HTTP_PROXY 或者通过在 FRP 客户端 的配置文件中设置 http_proxy 参数来使用此功能。


[common]
server_addr = your_server_ip
server_port = 7000
protocol = tcp
http_proxy = http://user:pwd@your_server_ip:8080

点对点透传:

​ 在传输大量数据时如果都经过服务器中转的话,这样会对服务器端带宽压力比较大。

​ FRP 提供了一种新的代理类型 XTCP 来解决这个问题,XTCP 模式下可以在传输大量数据时让流量不经过服务器中转。

使用方式同 STCP 类似,需要在传输数据的两端都部署上 FRP 客户端上用于建立直接的连接。

首先在 FRP 服务端 配置上增加一个 UDP 端口用于支持该类型的客户端: bind_udp_port = 7001


[common]
bind_addr = 0.0.0.0
bind_port = 7000            # 客户端与服务端进行通信的端口,即frp服务端口,需与客户端server_port一致
privilege_token = 123456    # 特权模式密钥,需与客户端frpc.ini一致

vhost_http_port = 8080      # http服务端口,开启后服务端完成通过域名访问部署于内网的 Web 服务部署,这里将 HTTP 访问端口设为 8080
vhost_https_port = 443      # https服务端口

dashboard_port = 7500       # 控制台端口 通过 Dashboard 可以方便的查看 FRP 的状态以及代理统计信息展示 通过 http://[server_addr]:7500 访问 Dashboard 界面,用户名密码默认都为 admin。

bind_udp_port = 7001
1234567891011

其次配置 FRP 客户端,和常规 TCP 转发不同的是这里不需要指定远程端口。 修改前:


[common]
server_addr = your_server_ip
server_port = 7000

[ssh]
type = tcp                  #连接协议 
local_ip = 127.0.0.1        #内网服务器ip
local_port = 22             #ssh默认端口
remote_port = 8000          #自定义的访问内部ssh端口号
123456789

修改后:


[common]
server_addr = your_server_ip
server_port = 7000

[p2p_ssh]
type = xtcp
sk = abcdefg                # 只有 sk 一致的用户才能访问到此服务
local_ip = 127.0.0.1
local_port = 22
123456789

然后在要访问这个服务的机器上启动另外一个 FRP 客户端,配置如下:


[common]
server_addr = your_server_ip
server_port = 7000

[p2p_ssh_visitor]
type = xtcp
role = visitor              # XTCP 的访问者
server_name = p2p_ssh       # 要访问的 XTCP 代理的名字
sk = abcdefg
bind_addr = 127.0.0.1       # 绑定本地端口用于访问 ssh 服务
bind_port = 6006
1234567891011

这样就可以通过本机 6006 端口对内网机器 SSH 服务进行访问。

目前 XTCP 模式还处于开发的初级阶段,并不能穿透所有类型的 NAT 设备,所以穿透成功率较低。穿透失败时可以尝试 STCP 的方式。

Tomcat服务器安装:

Tomcat简单的说就是一个运行JAVA的网络服务器,底层是Socket的一个程序,它也是JSP和Serlvet的一个容器。

配置Tomcat

运行Tomcat需要JDK的支持【Tomcat会通过JAVA_HOME找到所需要的JDK】。

服务器安装:

Linux服务器安装Tomcat服务有一下几种方式:

  • 到官网下载压缩包进行解压使用。
  • 使用宝塔bt面板进行安装
  • 使用apt-get安装

这里介绍最后一种直接用apt-get的安装方式。

1.首先需要进行JAVA环境的配置和安装,在linux上可以下载openjdk来作为java环境。

OpenJDKJava最早由SUN公司(Sun Microsystems,发起于美国斯坦福大学,SUN是Stanford University Network的缩写)发明,2006年SUN公司将Java开源,此时的JDK即为OpenJDK。OpenJDK是Java SE的开源实现,他由SUN和Java社区提供支持,2009年Oracle收购了Sun公司,自此Java的维护方之一的SUN也变成了Oracle。大多数JDK都是在OpenJDK的基础上编写实现的,比如IBM J9,Azul Zulu,Azul Zing和Oracle JDK。几乎现有的所有JDK都派生自OpenJDK,他们之间不同的是许可证,OpenJDK根据许可证GPL v2发布。 Oracle JDK根据Oracle二进制代码许可协议获得许可。

更新系统安装包缓存,并且安装OpenJDK8


sudo apt-get update
sudo apt-get install openjdk-8-jdk

设置环境变量:

修改全局配置文件,作用于所有用户:


export JAVA_HOME=/usr/lib/jdk/jdk1.8
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=.:${JAVA_HOME}/bin:$PATH

之后通过一条命令就可以安装tomcat9


sudo apt-get install tomcat9

想要寻找tomcat的配置文件可以通过以下命令来寻找tomcat9的配置和安装目录:


whereis tomcat9

我的世界服务器安装:

这里安装的是forge1.17版本

服务端下载链接:链接:https://pan.baidu.com/s/1GE1M2kW_utK8JVULPcCsVA 提取码:t1ab

客户端下载链接:链接:https://pan.baidu.com/s/15VRI2LUxWqqYbDItAk_n8A 提取码:656b

如何使用:

服务端:

1.安装java环境,该版本需要配置jdk1.16版本的环境,还需要配置JAVA_HOME等环境变量。

2.将服务器端文件上传到服务器,同时解压就可以运行

服务器端运行run.sh就可以启动。

]

客户端:

客户端直接点击运行就可以启动,输入服务器的ip地址或域名就可以进入到服务器。

想要装Mod的话可以到网上找找教程,好像把mod放到.minecraft文件夹应该就可以了。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐