通过Velocity端搭建子服务器(附免费领取服务器教程)

前几天开了一个我的世界服务器,但是买的服务器是4h4g的,内存有点不足,很快就被霍霍空了。想要加内存又贵的离谱。于是有了一个想法:通过Velocity端搭建子服务器(已老实,下次一定买雨云的)

介绍与下载

Velocity is the modern, high-performance proxy. Designed with performance and stability in mind, it’s a full alternative to Waterfall with its own plugin ecosystem.

直白点来说就是代理端,可以让你的服务器划分各个子服务器。

需要代理端的几类用户:

1、我有一台服务器A,但是我担心暴露A的iP会受到攻击。

2、我的玩家很多,单个服务器性能不足,需要划分生存一区二区

从PaperMC下载(国内不推荐)

Velocity Downloads | PaperMCDownload Velocity, our high-performance Minecraft proxy.icon-default.png?t=O83Ahttps://papermc.io/downloads/velocity

从幻昼云直链下载

https://cloud.alongw.cn/f/wyDUq/velocity3.4.jar​cloud.alongw.cn/f/wyDUq/velocity3.4.jaricon-default.png?t=O83Ahttps://cloud.alongw.cn/f/wyDUq/velocity3.4.jar%E2%80%8Bcloud.alongw.cn/f/wyDUq/velocity3.4.jar

领取与安装

这里以雨云为例,如果没有服务器的话可以点击积分中心免费领取一台2h4g20m100m的服务器

领取教程

点击卡片注册账号即可领取,购买服务器还可用卷码:

MjI3ODI5

点击领取icon-default.png?t=O83Ahttps://xn--www-4m0a.rainyun.com/MjI3ODI5_s=?csdn

安装教程

进入云产品-游戏云-我的产品

进入管理

切换/重装游戏

选择纯环境-Java21

配置

进入云产品-游戏云-我的产品-进入面板

进入MCSM面板,点击服务器-管理

文件管理

下滑进入文件管理,删掉server.properties,上传velocity3.4.jar

最后效果为这样

修改启动脚本

(velocity3.4.jar根据自己的核心命名)

java -jar velocity3.4.jar

返回,开启服务器。

velocity服务端没有eula.txt,无需同意。

toml文件配置

运行成功后关闭服务器,打开文件管理,可见这个toml文件

点击编辑,根据下面的教程来

配置文件的汉化

# 配置版本。请勿更改此项
config-version = "2.7"

# 代理服务器绑定端口
bind = "0.0.0.0:25565"

# MOTD,当玩家将你的服务器添加到他们的服务器列表时,将显示这串内容。
# 支持中文,但请将汉字转换为unicode编码
# 只接受MiniMessage格式。
motd = "<#09add3>一个Velocity服务器"

# 显示的最大玩家数量?(Velocity不支持控制在线玩家数量的上限,仅为显示值)
show-max-players = 500

# 是否启用正版验证
online-mode = true

# 是否强制执行代理新的公钥安全标准?
force-key-authentication = true

# 如果来自此代理的客户端的ISP/AS与来自Mojang的身份验证服务器的不同,
# 玩家将被踢出。这将阻止一些VPN和代理连接,但是一种较弱的保护形式。
prevent-client-proxy-connections = false

# 我们是否应该将IP地址和其他数据转发给后端服务器?
# 可用选项:
# - "none":不进行转发。所有玩家将显示是从代理连接的,并将具有离线模式UUID。
# - "legacy":以前BungeeCord兼容的格式转发玩家IP和UUID。
#   如果你运行的是使用Minecraft 1.12或更低版本的服务器,请使用这个。
# - "bungeeguard":以前BungeeGuard插件支持的格式转发玩家IP和UUID。
#    如果你运行的是使用Minecraft 1.12或更低版本的服务器,并且无法实现网络级别的防火墙(在共享主机上),请使用这个。
# - "modern":作为登录过程的一部分使用Velocity的原生转发来转发玩家IP和UUID。仅适用于Minecraft 1.13或更高版本。
player-info-forwarding-mode = "NONE"

# 如果你使用的是modern或BungeeGuard IP转发,请在这里配置密钥文件。
# 文件应该是UTF-8编码的,并且不为空。
forwarding-secret-file = "forwarding.secret"

# 是否显示你的服务器支持Forge?如果你运行的是模组服务器,我们建议开启这个。
# 如果你的网络持续运行一个模组包,考虑使用ping-passthrough = "mods"以获得更美观的服务器列表显示。
announce-forge = false

# 如果启用,并且代理处于在线模式,如果发生重复的连接尝试,Velocity将踢出任何在线的现有玩家。
kick-existing-players = false

# Velocity是否应该将服务器列表ping请求传递给后端服务器?
# 可用选项:
# - "disabled":不进行传递。velocity.toml和server-icon.png
#                  将决定初始的服务器列表ping响应。
# - "mods":只从你的后端服务器传递模组列表到响应中。
#                  尝试列表(或强制主机)中的第一个具有模组列表的服务器将被使用。如果没有可以联系的后端服务器,Velocity将不会显示任何模组信息。
# - "description":使用后端服务器的描述和模组列表。
#                  尝试列表(或强制主机)中第一个响应的服务器将被用于描述和模组列表。
# - "all":使用后端服务器的响应作为代理响应。如果没有服务器可以联系,将使用Velocity配置。
ping-passthrough = "DISABLED"

# 如果不启用,则玩家IP地址将在日志中被<ip address withheld>替换
enable-player-address-logging = true

[servers]
# 在这里配置你的服务器。每个键代表服务器的名称,值代表要连接的服务器的IP地址。
lobby = "127.0.0.1:30066"
factions = "127.0.0.1:30067"
minigames = "127.0.0.1:30068"

# 当玩家登录或被服务器踢出时,我们应该按什么顺序尝试服务器。
try = [
    "lobby"
]

[forced-hosts]
# 在这里配置你的强制主机。
"lobby.example.com" = [
    "lobby"
]
"factions.example.com" = [
    "factions"
]
"minigames.example.com" = [
    "minigames"
]

[advanced]
# Minecraft数据包需要有多大才进行压缩。将其设置为0将压缩所有数据包,
# 设置为-1将完全禁用压缩。
compression-threshold = 256

# 应该进行多少压缩(从0到9)。默认是-1,使用默认级别6。
compression-level = -1

# 客户端在最后一次连接后多久可以连接(以毫秒为单位)。默认为三秒。禁用此功能,请将其设置为0。
login-ratelimit = 3000

# 在这里指定连接超时的自定义超时时间。默认是五秒。
connection-timeout = 5000

# 在这里指定连接的读取超时时间。默认是30秒。
read-timeout = 30000

# 启用与HAProxy的PROXY协议的兼容性。如果你不知道这是用于什么的,那么不要启用它。
haproxy-protocol = false

# 在代理上启用TCP快速打开支持。需要在Linux上运行代理。
tcp-fast-open = false

# 在Velocity上启用BungeeCord插件消息通道支持。
bungee-plugin-message-channel = true

# 显示客户端对代理的ping请求。
show-ping-requests = false

# 默认情况下,Velocity将尝试优雅地处理用户意外断开与服务器的连接的情况,通过尝试将用户回退,
# 除了读取超时的情况。BungeeCord会断开用户连接。你可以禁用此设置以使用BungeeCord的行为。
failover-on-unexpected-server-disconnect = true

# 向1.13+客户端声明代理命令。
announce-proxy-commands = true

# 启用命令执行的日志记录
log-command-executions = false

# 启用记录玩家连接到代理、切换服务器和从代理断开连接的情况。
log-player-connections = true

# 允许接收通过Transfer数据包(Minecraft 1.20.5)从其他主机转移来的玩家。
accepts-transfers = false

[query]
# 是否启用响应GameSpy 4查询响应?
enabled = false

# 查询协监听端口
port = 25565

# 这是报告给查询服务的地图名称。
map = "Velocity"

# 是否默认显示插件在查询响应中
show-plugins = false

需要修改的点

其中有几项需要我们注意的。

首先就是

bind = "0.0.0.0:25565"

和最后的

port = 25565

在这里,我们需要修改为服务器开放端口

 
online-mode = true

老生常谈的正版验证。即使子服务器未开启正版验证,这开了子服务器没开也是进不了服务器哒

[servers]
# 在这里配置你的服务器。每个键代表服务器的名称,值代表要连接的服务器的IP地址。
lobby = "127.0.0.1:30066"
factions = "127.0.0.1:30067"
minigames = "127.0.0.1:30068"

# 当玩家登录或被服务器踢出时,我们应该按什么顺序尝试服务器。
try = [
    "lobby"
]

[forced-hosts]
# 在这里配置你的强制主机。
"lobby.example.com" = [
    "lobby"
]
"factions.example.com" = [
    "factions"
]
"minigames.example.com" = [
    "minigames"
]

最重要的就是这一段。配置服务器的信息

前面三个是子服的iP,try即为连接顺序。删除[forced-hosts]中的内容,一般用不着

最后保存,可以选择上传server-icon.png。请注意server-icon必须为64*64大小的!

示例

我的服务器配置如下

# 配置版本。请勿更改此项
config-version = "2.7"

# 代理服务器绑定端口
bind = "0.0.0.0:58518"

# MOTD,当玩家将你的服务器添加到他们的服务器列表时,将显示这串内容。
# 支持中文,但请将汉字转换为unicode编码
# 只接受MiniMessage格式。
motd = "<#09add3>问号服"

# 显示的最大玩家数量?(Velocity不支持控制在线玩家数量的上限,仅为显示值)
show-max-players = 500

# 是否启用正版验证
online-mode = false

# 是否强制执行代理新的公钥安全标准?
force-key-authentication = true

# 如果来自此代理的客户端的ISP/AS与来自Mojang的身份验证服务器的不同,
# 玩家将被踢出。这将阻止一些VPN和代理连接,但是一种较弱的保护形式。
prevent-client-proxy-connections = false

# 我们是否应该将IP地址和其他数据转发给后端服务器?
# 可用选项:
# - "none":不进行转发。所有玩家将显示是从代理连接的,并将具有离线模式UUID。
# - "legacy":以前BungeeCord兼容的格式转发玩家IP和UUID。
#   如果你运行的是使用Minecraft 1.12或更低版本的服务器,请使用这个。
# - "bungeeguard":以前BungeeGuard插件支持的格式转发玩家IP和UUID。
#    如果你运行的是使用Minecraft 1.12或更低版本的服务器,并且无法实现网络级别的防火墙(在共享主机上),请使用这个。
# - "modern":作为登录过程的一部分使用Velocity的原生转发来转发玩家IP和UUID。仅适用于Minecraft 1.13或更高版本。
player-info-forwarding-mode = "none"

# 如果你使用的是modern或BungeeGuard IP转发,请在这里配置密钥文件。
# 文件应该是UTF-8编码的,并且不为空。
forwarding-secret-file = "forwarding.secret"

# 是否显示你的服务器支持Forge?如果你运行的是模组服务器,我们建议开启这个。
# 如果你的网络持续运行一个模组包,考虑使用ping-passthrough = "mods"以获得更美观的服务器列表显示。
announce-forge = false

# 如果启用,并且代理处于在线模式,如果发生重复的连接尝试,Velocity将踢出任何在线的现有玩家。
kick-existing-players = false

# Velocity是否应该将服务器列表ping请求传递给后端服务器?
# 可用选项:
# - "disabled":不进行传递。velocity.toml和server-icon.png
#                  将决定初始的服务器列表ping响应。
# - "mods":只从你的后端服务器传递模组列表到响应中。
#                  尝试列表(或强制主机)中的第一个具有模组列表的服务器将被使用。如果没有可以联系的后端服务器,Velocity将不会显示任何模组信息。
# - "description":使用后端服务器的描述和模组列表。
#                  尝试列表(或强制主机)中第一个响应的服务器将被用于描述和模组列表。
# - "all":使用后端服务器的响应作为代理响应。如果没有服务器可以联系,将使用Velocity配置。
ping-passthrough = "DISABLED"

# 如果不启用,则玩家IP地址将在日志中被<ip address withheld>替换
enable-player-address-logging = true

[servers]
# 在这里配置你的服务器。每个键代表服务器的名称,值代表要连接的服务器的IP地址。
lobby = "xxx.xxx.xxx.xxx:24463"
factions = "xxx.xxx.xxx.xxx:24463"
minigames = "xxx.xxx.xxx.xxx:24463"

# 当玩家登录或被服务器踢出时,我们应该按什么顺序尝试服务器。
try = [
    "lobby"
]

[advanced]
# Minecraft数据包需要有多大才进行压缩。将其设置为0将压缩所有数据包,
# 设置为-1将完全禁用压缩。
compression-threshold = 256

# 应该进行多少压缩(从0到9)。默认是-1,使用默认级别6。
compression-level = -1

# 客户端在最后一次连接后多久可以连接(以毫秒为单位)。默认为三秒。禁用此功能,请将其设置为0。
login-ratelimit = 3000

# 在这里指定连接超时的自定义超时时间。默认是五秒。
connection-timeout = 5000

# 在这里指定连接的读取超时时间。默认是30秒。
read-timeout = 30000

# 启用与HAProxy的PROXY协议的兼容性。如果你不知道这是用于什么的,那么不要启用它。
haproxy-protocol = false

# 在代理上启用TCP快速打开支持。需要在Linux上运行代理。
tcp-fast-open = true

# 在Velocity上启用BungeeCord插件消息通道支持。
bungee-plugin-message-channel = true

# 显示客户端对代理的ping请求。
show-ping-requests = false

# 默认情况下,Velocity将尝试优雅地处理用户意外断开与服务器的连接的情况,通过尝试将用户回退,
# 除了读取超时的情况。BungeeCord会断开用户连接。你可以禁用此设置以使用BungeeCord的行为。
failover-on-unexpected-server-disconnect = true

# 向1.13+客户端声明代理命令。
announce-proxy-commands = true

# 启用命令执行的日志记录
log-command-executions = false

# 启用记录玩家连接到代理、切换服务器和从代理断开连接的情况。
log-player-connections = true

# 允许接收通过Transfer数据包(Minecraft 1.20.5)从其他主机转移来的玩家。
accepts-transfers = false

[query]
# 是否启用响应GameSpy 4查询响应?
enabled = false

# 查询协监听端口
port = 58518

# 这是报告给查询服务的地图名称。
map = "Velocity"

# 是否默认显示插件在查询响应中
show-plugins = false

最后即可打开服务器

加入服务器

mc选择界面输入代理服务器iP

代理端可以看到转发信息,服务端展示为代理iP(我没有设置Modern转发)

代理端服务器信息提示

主服务器信息提示

可以在游戏内使用/server切换子服

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值