Иконка ресурса
Поддерживаемые версии
  1. Отсутствует
1. Введение

Привет! У каждого есть вопрос как связать 2 сервера? Как сделать авторизацию? Как скрыть названия ядер и др. Сегодня расскажу

2. Что такое velocity

Velocity
— это современное, высокопроизводительное ядро майнкрафт, разработанное командой PaperMC. Оно выполняет роль диспетчера, который связывает несколько независимых серверов Minecraft в единую сеть.

3. Строка запуска

Строка запуска для Velocity(рекомендую)

Echo off

"C:\Program Files\Java\ваша JAVA\bin\java.exe" -Xms4096M -Xmx4096M -XX:+AlwaysPreTouch -XX:+ParallelRefProcEnabled -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1HeapRegionSize=4M -XX:MaxInlineLevel=15 -jar server.jar

pause

3. Настройка Velocity

После скачивания прокси ядра Velocity и запуска сервер с помощью строки запуска, у нас сгенерировался файл velocity.toml, без его настройки прокси сервер будет работать нестабильно или вы не сможете к примеру зайти с 1.16.5. Поэтому каждый пункт настраиваем

4. velocity.toml

Давайте приступим по пунктам, которые важны в настройке

online-mode: false
Отключает проверку лицензия

player-info-forwarding-mode = "modern"

Тут теперь подробно о 4 пунктах, которые написаны

legacy -
Заходить можно только 1.12.2 и ниже.

bungeeguard - Тоже можно заходить ниже 1.12.2 но уже с защитой. У кого сервера ниже 1.12.2 рекомендую поставить, плагин никакой не надо скачивать

modern - Можно заходить на сервер с 1.13 и выше

none - Не рекомендую. Не будут работать перенаправления.

ping-passthrough = "DISABLED"
Если у вас сервер с модами пишите туда mods

[servers]
lobby = ""
В кавычках пишите IP и порт сервера, также тут-же если у вас режим гриф анархия допишите их но уже поменяйте название не lobby а grief и снова IP с портом от сервера гриф

[forced-host]
Рекомендую всё что там написано убрать

Вот если надо доп. настройки(рекомендую ознакомиться)

# Config version. Do not change this
config-version = "2.7"

# при смене хостинга, рекомендую менять порт
bind = "0.0.0.0:25565"

# Этим не пользуйтесь, можно сделать через плагин на мотд
motd = "<#09add3>A Velocity Server"

# Максимальный онлайн
show-max-players = 2026

# Should we authenticate players with Mojang? By default, this is on.
online-mode = false

# Should the proxy enforce the new public key security standard? By default, this is on.
force-key-authentication = true

# If client's ISP/AS sent from this proxy is different from the one from Mojang's
# authentication server, the player is kicked. This disallows some VPN and proxy
# connections but is a weak form of protection.
prevent-client-proxy-connections = false

# Should we forward IP addresses and other data to backend servers?
# Available options:
# - "none": No forwarding will be done. All players will appear to be connecting
# from the proxy and will have offline-mode UUIDs.
# - "legacy": Forward player IPs and UUIDs in a BungeeCord-compatible format. Use this
# if you run servers using Minecraft 1.12 or lower.
# - "bungeeguard": Forward player IPs and UUIDs in a format supported by the BungeeGuard
# plugin. Use this if you run servers using Minecraft 1.12 or lower, and are
# unable to implement network level firewalling (on a shared host).
# - "modern": Forward player IPs and UUIDs as part of the login process using
# Velocity's native forwarding. Only applicable for Minecraft 1.13 or higher.
player-info-forwarding-mode = "modern"

# If you are using modern or BungeeGuard IP forwarding, configure a file that contains a unique secret here.
# The file is expected to be UTF-8 encoded and not empty.
forwarding-secret-file = "forwarding.secret"

# Announce whether or not your server supports Forge. If you run a modded server, we
# suggest turning this on.
#
# If your network runs one modpack consistently, consider using ping-passthrough = "DISABLED"
# instead for a nicer display in the server list.
announce-forge = false

# If enabled (default is false) and the proxy is in online mode, Velocity will kick
# any existing player who is online if a duplicate connection attempt is made.
kick-existing-players = false

# Should Velocity pass server list ping requests to a backend server?
# Available options:
# - "disabled": No pass-through will be done. The velocity.toml and server-icon.png
# will determine the initial server list ping response.
# - "mods": Passes only the mod list from your backend server into the response.
# The first server in your try list (or forced host) with a mod list will be
# used. If no backend servers can be contacted, Velocity won't display any
# mod information.
# - "description": Uses the description and mod list from the backend server. The first
# server in the try (or forced host) list that responds is used for the
# description and mod list.
# - "all": Uses the backend server's response as the proxy response. The Velocity
# configuration is used if no servers could be contacted.
ping-passthrough = "DISABLED"

# If enabled (default is false), then a sample of the online players on the proxy will be visible
# when hovering over the player count in the server list.
# This doesn't have any effect when ping passthrough is set to either "description" or "all".
sample-players-in-ping = false

# If not enabled (default is true) player IP addresses will be replaced by <ip address withheld> in logs
enable-player-address-logging = true

[servers]
# Configure your servers here. Each key represents the server's name, and the value
# represents the IP address of the server to connect to.
lobby = "127.0.0.1:25365"

# In what order we should try servers when a player logs in or is kicked from a server.
try = [
"lobby"
]

[forced-hosts]
# Рекомендую убрать. Этот параметр нужен для того чтобы зайти, не вводя там пароль просто прямое подключение

[advanced]
# How large a Minecraft packet has to be before we compress it. Setting this to zero will
# compress all packets, and setting it to -1 will disable compression entirely.
compression-threshold = 256

# How much compression should be done (from 0-9). The default is -1, which uses the
# default level of 6.
compression-level = -1

# How fast (in milliseconds) are clients allowed to connect after the last connection? By
# default, this is three seconds. Disable this by setting this to 0.
login-ratelimit = 3000

# Specify a custom timeout for connection timeouts here. The default is five seconds.
connection-timeout = 5000

# Specify a read timeout for connections here. The default is 30 seconds.
read-timeout = 30000

# Если у вас есть подключённый TCP SHIELD то включите этот парамент
haproxy-protocol = false

# Enables TCP fast open support on the proxy. Requires the proxy to run on Linux.
tcp-fast-open = false

# Enables BungeeCord plugin messaging channel support on Velocity.
bungee-plugin-message-channel = true

# Shows ping requests to the proxy from clients.
show-ping-requests = false

# By default, Velocity will attempt to gracefully handle situations where the user unexpectedly
# loses connection to the server without an explicit disconnect message by attempting to fall the
# user back, except in the case of read timeouts. BungeeCord will disconnect the user instead. You
# can disable this setting to use the BungeeCord behavior.
failover-on-unexpected-server-disconnect = true

# Declares the proxy commands to 1.13+ clients.
announce-proxy-commands = false

# Enables the logging of commands
log-command-executions = false

# Enables logging of player connections when connecting to the proxy, switching servers
# and disconnecting from the proxy.
log-player-connections = true

# Allows players transferred from other hosts via the
# Transfer packet (Minecraft 1.20.5) to be received.
accepts-transfers = false

# Enables support for SO_REUSEPORT. This may help the proxy scale better on multicore systems
# with a lot of incoming connections, and provide better CPU utilization than the existing
# strategy of having a single thread accepting connections and distributing them to worker
# threads. Disabled by default. Requires Linux or macOS.
enable-reuse-port = false

# How fast (in milliseconds) are clients allowed to send commands after the last command
# By default this is 50ms (20 commands per second)
command-rate-limit = 50

# Should we forward commands to the backend upon being rate limited?
# This will forward the command to the server instead of processing it on the proxy.
# Since most server implementations have a rate limit, this will prevent the player
# from being able to send excessive commands to the server.
forward-commands-if-rate-limited = true

# How many commands are allowed to be sent after the rate limit is hit before the player is kicked?
# Setting this to 0 or lower will disable this feature.
kick-after-rate-limited-commands = 0

# How fast (in milliseconds) are clients allowed to send tab completions after the last tab completion
tab-complete-rate-limit = 10

# How many tab completions are allowed to be sent after the rate limit is hit before the player is kicked?
# Setting this to 0 or lower will disable this feature.
kick-after-rate-limited-tab-completes = 0

[query]
# Whether to enable responding to GameSpy 4 query responses or not.
enabled = false

# If query is enabled, on what port should the query protocol listen on?
port = 25565

# This is the map name that is reported to the query services.
map = "Velocity"

# Whether plugins should be shown in query response by default or not
show-plugins = false
5. Плагины

Давайте будем использовать в этот туториале плагины Limbo и плагины на небольшую защиту сервера. Давайте начнём

LimboAPI - нужен для работы всех Limbo плагинов
LimboAuth - плагин на авторизацию
LimboAuth-socialaddon - плагин на привязку к соц.сетям(аддон к LimboAuth)
sonar - защита от ботов(можно использовать winshield, но он платный, хотя если память не изменяет то там Cloudflare проверяет на бота по сайту)
pixelMOTD - мотд. Для описания сервера с списке серверов
EasyCommandBlocker - блокировщик команд от прокси ядра Velocity
BrandHider - прячет версию всех ядер на серверах и меняет названия им

6. Разбор каждого плагина и его настройка

BrandHider

# _ _ _ _
# | | | (_) | |
# | || |_ __| | _
# | __ | |/ _` |/ _ \
# | | | | | (| | _/
# || |||\,|\_|
#
# BrandHider v4.1
# Made by BlowTobacco
# Хотите ли вы, включить анимацию скрытия ядер
animated-brand: false
# Статическое названия ядер сервера
# Поддерживает: всех цветов майнкрафт, &k, &l, &m, &n, &o, &r
# Hex цвета не работают
custom-brand: '&6Spigotmcru'
# Можно не трогать
motd-version: 'spigotmcru'
# Период в милисекундах для анимации
animation-period: 1000
# Сама настройка анимации
# Можете сделать как вы пожелаете
brand-animation:
- '&4B&crandHider'
- '&fB&4r&candHider'
- '&fBr&4a&cndHider'
- '&fBra&4n&cdHider'
- '&fBran&4d&cHider'
- '&fBrand&4H&cider'
- '&fBrandH&4i&cder'
- '&fBrandHi&4d&cer'
- '&fBrandHid&4e&cr'
- '&fBrandHide&4r'

EasyCommandBlocker
tab:
default:
priority: 0
commands: []
blocked_command_default_actions:
- "message: &6Spigotmcru &8» &cУ вас нет прав!"
- "playsound: BLOCK_NOTE_BLOCK_PLING;10;0.1"
- "title: 20;40;20;&cЧто ты делаешь?;&7Не пиши это!"
use_commands_as_whitelist: false
commands:
- "/velocity"
- "/server"
- "/lpv"
block_colon_commands: false
custom_commands_actions:
example1:
commands:
- "/velocity"
actions:
- "message: &6Spigotmcru &8» &сУ вас нет прав!"

Все остальные плагины я настраивал, но в основном перевод

7. Заключение


Вот мы сделали качественное, красивое Velocity. Мы сделали авторизацию, проверку на бота, привязку аккаунта, скрытие команд и спрятали название ядер для игроков

Статья написана лично на моём мнении и как я думаю как его правильно настраивать.
Автор
frenk
Просмотры
159
Первый выпуск
Обновление
Оценка
1.50 звёзд 4 оценок

Другие ресурсы пользователя frenk

Поделиться ресурсом

Последние рецензии

Буду козлом, но поставлю 1 звезду только из-за того что автор сказал, что ничего не понял в настройке CommandWhitelist, плагин на 1 секцию сообщений и секция групп с командами.
F
frenk
Про Velocity ладно настройка, но проще мне это PL-hide или EasyCommandBlocker
"[forced-host]
Рекомендую всё что там написано убрать"

Зачем? А если у меня есть сервер с мини-играми на отдельном домене?

Ты даже не объяснил, для чего нужна эта функция. Я-то в теме, мне без разницы, но другим пользователям будет непонятно.


КАЛ:
LimboAPI - нужен для работы всех Limbo плагинов
LimboAuth - плагин на авторизацию
LimboAuth-socialaddon - плагин на привязку к соц.сетям(аддон к LimboAuth)

Почему? Не работают переодически на новых велосити, на форках по типа велосити-стд, и тд. ОЧЕНЬ НЕ СТАБИЛЬНО!!!
Используйте tiauth + tiauth social addon, они есть на spigotmc.ru с пометкой рекомендуемые (а это что-то значит)


pixelMOTD ужасен с точки зрения кода. Рекомендую использовать MiniMOTD, а если нужен более широкий функционал то PistonMOTD.

BrandHider не легче заменить на VelocityTools?

EasyCommandBlocker --> CommandWhitelist

Sonar + FoxGate. Sonar обойдут, как бы ты его ни настраивал, обещаю.



Строка запуска для Velocity (рекомендую? ПОЧЕМУ?) уж https://flags.sh/ будет гораздо лучше.
F
frenk
Подробно для тебя объясняю.
[force-host]
Значит держи себе подарок в виде захода на твой админ аккаунт. forced-host нужно там всё убрать потому-что люди кто рядом будут жить с серверами или по этому IP адресу могут перебрать порты и зайти на админ аккаунт

У каждого есть свой вкус. Кто-то использует Limbo плагины или MC-auth. Тем более они обновляются, но разработчик почему-то не отмечает что это релиз.

Я пользовался мини мотд и мне не понравилось. PixelMOTD он более удобен, а с PistonMOTD не юзал

BrandHider скрывает версию клиента. И ты сам сказал что лимбо плагины говно, хотя пользуешься плагином от этого же разработчика. Гений

EasyCommandBlocker нормальный. У каждого есть свой вкус. Мне все говорили что юзай CommandWhitelist, хотя при его настройке я ничего не понял.

Есть решение WinShield

Я брал флаги с сайта разработчика PaperMC
Данная статья по ощущениям основана на старых источниках.
Лучше всего использовать встроенные средства Velocity, а не плагины на MOTD.
Лучшие флаги можно подобрать под себя на birdflop.com/resources/flags/
EasyCommandBlocker лучшие заменить на надёжный и проверенный временем CommandWhitelist.
Sonar не советую! Лучше справится LimboFilter или же переход на NullCordX
F
frenk
LimboFilter уже обходится а сонар хоть что-то блокирует. EasyCommandBlocker я пользуюсь 2 месяца и всё ок. Флаги брал от разработчика на его сайте PaperMC. Я брал информацию о Velocity.toml от Джейкоба.
Гайд на уровне 2021 года
Читайте docs.papermc.io/velocity
Вот про флаги docs.papermc.io/velocity/tuning/#explanation-of-the-flags
А лучше спрашивайте в Discord сервере самого PaperMC
EasyCommandBlocker так себе плагин, лучше используйте стабильный CommandWhitelist
pixelMOTD -> FastMOTD
Sonar тоже так себе тема, обходится, надо работать с блокировкой VPN, ASN и Proxy
Разговоры про Cloudflare не уместны, так как он забанен в РФ
F
frenk
1. Я лично рассказал о базовых настройках ядра для его стабильной работы
2. Флаги были взяты с генератора строк запуска лично от PaperMC
3. EasyCommandBlocker пользуюсь им 2 месяца и всё ок.
4. Сонар можно настроить.
5. Существует WinShield. Там можно проверять игроков через cloudflare вроде
6. По поводу FastMOTD, я единственное не могу понять как сделать 2 строчки поэтому пользуюсь PixelMOTD. Даже если есть пробелы, то всё сплошняком
Назад
Сверху Снизу