Подключение AuthMeReloaded и AuthMeBungee

Mr_dsa1

Пользователь
Сообщения
140
Решения
2
Здравствуйте. Уже очень долго мучаюсь с такой проблемой:
Установил AuthMe и AuthMeBungee, почитал документацию и вроде бы всё правильно настроил, но проблема в том, что если игрок не вошел в игру, он всё равно находится на сервере, где играл, а не на сервере авторизации, после прописания /logout, его просто розлогинивает, а не выкидывает с сервера, где он играет. Вот что было понятней что я хочу сделать -

Допустим у меня есть 3 сервера:
Bungee - сама Банджа
Auth - сервер авторизации (там игроки регистрируется или входят в игру)
Lobby - сервер лобби (там уже должны быть только те игроки, которые вошли в свой аккаунт)
К примеру такая ситуация, игрок находится на сервере Lobby, там прописывает команду /logoout (тем же выходит со своего аккаунта) и его сразу кидает на сервер Auth пока он вновь не введёт пароль
Проще говоря - мне нужно чтоб все незарегистрированные или неавторизованные игроки автоматически кидались на определенный сервер (Auth) и пока не войдут в игру не могли нигде больше находится.

К теме прикрепил конфиг AuthMeBungee и AuthMeReloaded (они почти что дефолтные, изменял только то, что нужно для этой задачи)
Очень нужна помощь, ведь я пересмотрел довольно много инфы и никак не могу найти решение.
 

Вложения

  • AuthMeBungee.yml
    948 байт · Просмотры: 59
  • AuthMeRel_config.yml
    25.9 KB · Просмотры: 36
Решение
Решение проблемы:
1. Качаем плагины AuthMeReloaded 5.6.0 и AuthMeBungee-2.2.0
(AuthMe ставим на всех Spigot сервах, а AuthMeBungee на вашу Банджу)

2. Подключаем AuthMe на всех ваших серверах к одной базе данных
3. В AuthMe находим раздел "Hooks", там ищем "bungeecord" и меняем на true
4. Включаем сессию в AuthMe - раздел settings --> sessions
5. Заходим в папку плагина AuthMeBungee и там:
authServers:
- ваш игровой сервер (не сервер авторизации)
autoLogin: true
(переход между сервами без повторного ввода пароля)
sendOnLogout: true
(когда игрок выйдет, кидать его на другой сервер)
unloggedUserServer: 'auth'
(сервер, на который кидать...
AuthMeBungee.yml (UPD)
YAML:
# List of servers which required to be authenticated
authServers:
- CЮДА ВСЕ
- СЕРВЕРА КРОМЕ AUTH
# Consider every server as an auth server
allServersAreAuthServers: false
commands:
    # Allows or not commands to be performed if user is not logged in
    requireAuth: true
    # List of commands allowed to be perform without being authenticated
    whitelist:
    - /login
    - /register
    - /l
    - /reg
    - /email
    - /captcha
# Allows or not user to talk in chat if he is not logged in
chatRequiresAuth: true
serverSwitch:
    # Kick all players who switch servers without being authenticated (eg. plugin teleport)
    requiresAuth: true
    kickMessage: Требуется авторизация.
# Enable auto-login between servers
autoLogin: false
# If enabled, unlogged users will be sent to the unloggedUserServer server!
sendOnLogout: true
# If sendOnLogout is enabled, unlogged users will be sent to this server!
unloggedUserServer: 'auth'
 
AuthMeBungee.yml (UPD)
YAML:
# List of servers which required to be authenticated
authServers:
- CЮДА ВСЕ
- СЕРВЕРА КРОМЕ AUTH
# Consider every server as an auth server
allServersAreAuthServers: false
commands:
    # Allows or not commands to be performed if user is not logged in
    requireAuth: true
    # List of commands allowed to be perform without being authenticated
    whitelist:
    - /login
    - /register
    - /l
    - /reg
    - /email
    - /captcha
# Allows or not user to talk in chat if he is not logged in
chatRequiresAuth: true
serverSwitch:
    # Kick all players who switch servers without being authenticated (eg. plugin teleport)
    requiresAuth: true
    kickMessage: Требуется авторизация.
# Enable auto-login between servers
autoLogin: false
# If enabled, unlogged users will be sent to the unloggedUserServer server!
sendOnLogout: true
# If sendOnLogout is enabled, unlogged users will be sent to this server!
unloggedUserServer: 'auth'
Я всё равно появляюсь неавторизованным на сервере Lobby
 
Еще раз в чем проблема?
Мне нужно чтоб неавторизованные игроки находились строго на одном сервере, пока не вошел - будешь на том-то сервере. Но в тоже время чтоб команды такие как смена пароля, выход и т.п (с AuthMe) работали на других серверах.
 
Удали плагин AuthMeBungee с банжикорда, оставь AuthMe только на auth. Поставь на остальные сервера Command Redirect и при вводе /logout переноси на сервер auth @The_stas . И замени эти файлы. Теперь при входе на сервер игроку придется сначала войти на сервер, а потом только его перенесет на лобби.
 

Вложения

  • [SpigotMC.Ru]_bungee.yml
    1,000 байт · Просмотры: 29
  • [SpigotMC.Ru]_AuthMeRel_config.yml
    25.9 KB · Просмотры: 32
Command Redirect и при вводе /logout переноси на сервер auth
Я не совсем понял как это будет работать. Тип игрок ввел команду /logout и ...
Можно поподробней что дальше делать будет плагин ?
Авто объединение сообщений:

Удали плагин AuthMeBungee с банжикорда, оставь AuthMe только на auth. Поставь на остальные сервера Command Redirect и при вводе /logout переноси на сервер auth @The_stas . И замени эти файлы. Теперь при входе на сервер игроку придется сначала войти на сервер, а потом только его перенесет на лобби.
Это в priorities в конфигу Банджи делается, да ?
 
Не думаю, что нужно ставить лишний плагин для /logout. Сессия 10 минут. Игрок покинет сервер авторизации и через 10 минут придется снова авторизироваться при повторном заходе
 
Не думаю, что нужно ставить лишний плагин для /logout. Сессия 10 минут. Игрок покинет сервер авторизации и через 10 минут придется снова авторизироваться при повторном заходе
Я уже сделал всё так, чтоб все команды были доступны на любом сервере, игрок спокойно может передвигаться между сервами, но на любом из них к примеру прописать /logout (его сразу бросит на сервер авторизации и разлогинет) или изменить пароль и т.п
 
Назад
Сверху Снизу