Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Dismiss Notice

Помогите Сессия

Discussion in 'Разработка плагинов для новичков' started by serega6531, May 22, 2014.

  1. Автор темы
    serega6531

    serega6531 Старожил Девелопер Пользователь

    Trophy Points:
    173
    Skype:
    shkurovs
    Помогите, мне нужно получить сессию игрока. Нет, не чтобы украсть. Можно использовать любые способы, рефлексию и т.д.
     
  2. Хостинг MineCraft
    <
  3. MegaFlary

    MegaFlary Старожил Пользователь

    Trophy Points:
    153
    Думаю, потребуется изменение самого ядра сервера.
     
  4. Автор темы
    serega6531

    serega6531 Старожил Девелопер Пользователь

    Trophy Points:
    173
    Skype:
    shkurovs
    Рефлексией никак нельзя?
     
  5. Defilak

    Defilak Активный участник Пользователь

    Trophy Points:
    78
    Имя в Minecraft:
    Defilak
    Сессия на сервере или в клиенте?
    На сервере сессия игрока не хранится насколько я знаю.
    Ну а в клиенте вытащить рефлексией сессию реально.
     
  6. Автор темы
    serega6531

    serega6531 Старожил Девелопер Пользователь

    Trophy Points:
    173
    Skype:
    shkurovs
    На сервере, получить нужно только с помощью плагина.
     
  7. MegaFlary

    MegaFlary Старожил Пользователь

    Trophy Points:
    153
    Плагином не получится. Нужно найти, в каком месте подключается игрок на сервер и оттуда брать сессию.
     
  8. Автор темы
    serega6531

    serega6531 Старожил Девелопер Пользователь

    Trophy Points:
    173
    Skype:
    shkurovs
    Мне нужно простым плагином брать.
     
  9. Reality_SC

    Reality_SC Старожил Пользователь

    Trophy Points:
    123
    Имя в Minecraft:
    Reality_SC
    Это в принципе одно и тоже.
    Первый цитируемый имеет ввиду подмену классов через перекомпиляцию; второй — в рантайме.
    Имей ввиду, что плагины и ядро сервера загружаются разными ClassLoader-ами.
    Получения лоадера ядра в коде плагина:
    Code:
    ClassLoader pluginClassLoader = VoxilePlugin.class.getClassLoader();
    ClassLoader serverClassLoader = pluginClassLoader.getParent();
    Ну а дальше сам копай, ищи промежуток между созданием соединения и генерацией события PlayerPreLoginAsync.

    Ничего не могу сказать за сложность реализации, ибо не очень в теме.
     
  10. Shevchik

    Shevchik Старожил Пользователь

    Trophy Points:
    173
    Имя в Minecraft:
    _Shevchik_
    Сессию игрока - никак, она не передаётся на сервер.
     
  11. Автор темы
    serega6531

    serega6531 Старожил Девелопер Пользователь

    Trophy Points:
    173
    Skype:
    shkurovs
    Жаль, спасибо всем.
     
  12. MegaFlary

    MegaFlary Старожил Пользователь

    Trophy Points:
    153
    А как же тогда проходит проверка игрока через checkserver?
     
  13. Shevchik

    Shevchik Старожил Пользователь

    Trophy Points:
    173
    Имя в Minecraft:
    _Shevchik_
    http://wiki.vg/Authentication
     
  14. BeYkeR

    BeYkeR Старожил Девелопер Пользователь

    Trophy Points:
    173
    Покопался на GitHub'e, нашел вот это, наверно не подойдет.
     
  15. ql_Nik_lp

    ql_Nik_lp Старожил Девелопер Пользователь

    Trophy Points:
    173
    Skype:
    q-nik-p
    Имя в Minecraft:
    ql_Nik_lp
    Code:
     public Session(OfflinePlayer player) {
            this(player, UUID.randomUUID().toString());
        }
     
  16. Reality_SC

    Reality_SC Старожил Пользователь

    Trophy Points:
    123
    Имя в Minecraft:
    Reality_SC
    UUID и сессия так-то разные вещи.
     

Share This Page