Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Администрация BF2: RCON, remoteconsole.exe, вывод на экран
Форумы Боевого Народа > Игры > Форумы игр серии Battlefield > Форум администраторов
plagiat4x4
Итак, постараюсь сформулировать вопрос по возможности просто. Суть его заключается в понимании того, как именно работает ядро rcon. Kak то так.

1. Имеем БФ2, ОС - Винда.

2. Запускаем его например из командной строки:
C:\bf2srv\bf2_w32ded.exe

3. Видим стандартный экран, который всем знаком: различная инфа, надписи Loaded xxx%, сообщения от ПБ, заходящих игроков и так далее, и так далее

4. Теперь я например подрубаюсь к серверу с помощью поставляемой в комплекте утилитки из директории /adminutils/rcon/

remoteconsole.exe -h [ip сервера] -p [порт]

Всё прекрасно, ввожу пароль, всё работает. Могу вводить различные команды, типа

exec admin.listPlayers и тому подобное.

5. Теперь вопросы:

- возможно ли каким либо образом тот самый выхлоп из пункта 3 просматривать через ремот консоль?

- возможно ли просматривать в этой ремот консоли то, что пишется в консоли в самой игре? и как именно работает?

- если это http://bf2tech.org/index.php/Scripts:EventsPy прикрутить к БФ2 , если я правильно понял, то можно просматривать в консоли сообщения из игрового чата, которые читаются в свою очередь из буфера. Что именно нужно вводить, чтобы это показывалось?

Я запутался. Спасибо, если кто-то сможет мне это объяснить или ткнуть носом. Да, я понимаю есть консоль, есть питон, через который всё это взаимодействует, но как-то до меня не доходит, чего-то не хватает. То есть вся структура взаимодействия между рконом, батлой, питоном у меня в голове не укладывается. Спасибо.

п.с. Было бы замечательно, если бы здесь смог отписaться Tёма567 ))
MSN
Поставь bf2cc и не мучайся.
Tema567
Чтобы видеть выхлоп такого вида, желательно использовать ОС GNU/Linux, утилиту Screen и интерпретатор Bash, а через SSH смотреть на копию консоли.

Сообщения чата выводятся тоже очень просто:
Код
nullText = '\xa70'
lowText = '\xa71'

def init():
    host.registerHandler( 'ChatMessage', onChatMessage )

def onChatMessage( playerId, text, channel, flags ):
    if (playerId == -1):
        playerId = 255
    try:
        player = bf2.playerManager.getPlayerByIndex(playerId)
        if ((not player) or (not player.isValid())):
            return
        text = text.replace("HUD_TEXT_CHAT_TEAM", "")
        text = text.replace("HUD_TEXT_CHAT_SQUAD", "")
        text = text.replace("HUD_TEXT_CHAT_DEADPREFIX", "")
        text = text.replace("HUD_CHAT_DEADPREFIX", "")
        text = text.replace("*"+lowText+"DEAD"+nullText+"*", "")
        text = text.replace("*"+lowText+"MORT"+nullText+"*", "")
        text = text.replace("*"+lowText+"OWNED"+nullText+"*", "")
        print ('[Chat] '+player.getName()+': ' + msg)
        host.rcon_invoke('echo "'+str('[Chat] '+player.getName()+': ' + msg)+'"')
    except:
        return


Upd: Существуют готовые скрипты, которые позволяют добиться подобного результата.

Изображение

Чаще всего пользуюсь PuTTY (SSH клиент) с мобильного девайса.
Но ещё бывает просто удобен и незаменим BF2CC.
plagiat4x4
Огромное спасибо !! thumbsup.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.