Dragon armor
-
Posts
416 -
Joined
-
Last visited
-
Days Won
3
Posts posted by Dragon armor
-
-
1 минуту назад, DrWeb7_1 сказал:
Прошло три минуты, в python.log всё ещё тихо. Чем ещё можно попробовать спровоцировать хук?
Так уже всё есть же. И хук сработал. Вопрос пока такой - что ожидает клиент на свой запрос.
-
@DrWeb7_1 Пока понятней не стало. Предполагаю, это TOKEN_TYPE.XMPPCS. Он как-раз равен 1.
2 минуты назад, DrWeb7_1 сказал:INFO: 2, 1
requestID увеличился на единицу, tokenType тот же.
-
Второй параметр - TOKEN_TYPE
1 минуту назад, DrWeb7_1 сказал:Что-то пошло не туда или вываливание трассировки - то, что требуется?
Да не важно как. Пусть хоть таким образом.
-
1 минуту назад, DrWeb7_1 сказал:
2, 1
На скрине выше было 1, 1. Ещё бы знать, что за параметры.
И в предыдущем логе 1, 1.
Да, это requestID. Ясно. Второй параметр пока не ясно.
-
Может это поможет. Надо было print_stack вызывать.
-
@DrWeb7_1 Именно то, что надо. Сработало как и хотел. Вся цепочка вызовов есть. Сейчас попробую разобраться.
Тюфу ты, нихрена не выпало.
А то уж обрадовался, что лог есть. Сейчас переделаю. Надо было по-другому сразу сделать. Протестировать надо.
-
1 минуту назад, DrWeb7_1 сказал:
Какие операции надо произвести?
В папку mods кинуть. Запусти клиент, в логе будет
INFO: >>>>>>>>>>>>>init>>>>>>>>>>>>>>>
Значит, заработал. Потом запусти сервер и клиент. По идее, когда вызовется функция, будет лог, откуда вызов был.
В модс 0.9.22.0.1
from Account import PlayerAccount old_requestToken = None def __hook_PlayerAccount(self, requestID, tokenType): print '>>>>>>>>>>>>>>>>>>>>>>>>>>>>' print '{}, {}\n'.format(requestID, tokenType) print 'traceback' traceback.format_stack() print '<<<<<<<<<<<<<<<<<<<<<<<<<<<<' return old_requestToken(self, requestID, tokenType) old_requestToken = getattr(PlayerAccount, 'requestToken') setattr(PlayerAccount, 'requestToken', __hook_PlayerAccount) def init(): print '>>>>>>>>>>>>>init>>>>>>>>>>>>>>>' return
Это весь мод так выглядит.
-
7 минут назад, DrWeb7_1 сказал:
python.log очистить перед запуском?
Да, надо будет. Сейчас, вспомню как хуки устанавливать и сделаю.
Готово. Надеюсь, что заработает. У себя могу проверить, что он запускается, а как сработает, не знаю.
-
2 минуты назад, DrWeb7_1 сказал:
Спустя примерно 30 секунд:
Явно ответа ждёт. И соединение разрывает после таймаута. Но уже хорошо, что запускает. Надо хук сделать будет и посмотреть, кто и с какими параметрами вызывает. Сейчас сделаю и мод скину тебе.
-
-
Перед функцией def requestToken.
Только что, DrWeb7_1 сказал:Опять ошибка с отступами.
Да-да, уже написал. Пофикси.
В общем, надо делать хук функции в клиенте и смотреть, кто вызывает и с какими параметрами.
-
@DrWeb7_1 Добавь импорт. Странно, что у меня не было этой ошибки.
from interfaces.AccountAuthTokenProvider import AccountAuthTokenProvider
У меня была эта ошибка. Просто тут так настроено, что ошибки игнорируются.
И на табы замени пробелы в файле AccountAuthTokenProvider.py
-
@DrWeb7_1 У меня табы стоят, а ты пробелы используешь в качестве отступов.
-
2 минуты назад, DrWeb7_1 сказал:
Сейчас клиент в виртуалку.
Кстати, без установки запускается. Через vmware расшарить надо папку и можно запускать.
-
@DrWeb7_1 Попробуй в них, что-ли. Хз куда копать просто.
Тебе в ЛС скинул свою папку с настройками. Её ещё попробуй.
И лог, что ты скинул. Там ассерт вылетает.
А, ну да, Not implement func
У меня даже так получилось.
-
Виртуальной машины у тебя нет случайно? Может там есть другая ОС?
Только что, DrWeb7_1 сказал:Незарегистрированная версия позволяет нормально работать.
Отлично.
-
Надо бы в скриптах найти место, где запрашивается это. Тогда будет понятнее, в чём проблема.
@DrWeb7_1 Можно будет попозже. Дискорда у меня нет. И тимвьювера тоже, но установить можно. Там вроде есть бесплатный период или норм незарегистрированная версия может работать?
-
@DrWeb7_1 Через какую программу? И версию ОС напиши свою.
Только что, DrWeb7_1 сказал:Windows 8.1 Профессиональная, x64.
Ясно.
У меня вин7. Вряд ли из-за этого проблема.
-
3 минуты назад, DrWeb7_1 сказал:
Но даже чисто технически будет ли возможна авторизация через БД
Оно и сейчас есть. Просто всегда возвращает успех.
Только что, DrWeb7_1 сказал:Но тебя всё равно впустило в ангар.
Именно. Хз как искать, в чём проблема.
У тебя ОС какая?
-
-
@DrWeb7_1 У меня на виртуальной машине тоже не запускается. Ну тогда надо искать причину.
@Plotnik5252ru Да ни на сколько. Это же просто ради интереса всё. Ну кто будет рубиться в старые танки? Как и в вот-классик, попробовал и ушёл на основной сервер.
-
-
Только что, Plotnik5252ru сказал:
А физику делать пробовали?
Да. Очень долго пытался. Но не выходит. Есть даже пример в физическом движке. Но надо убрать все внутренние классы. У меня ассерт получался, когда техника чуть меняла положение. Что-то делал не так. Так же пытался сделать на рейкасте. Это когда физических объектов нет, а всё рассчитывается и прикладываются силы вручную. Тоже не совсем знаю, как делать.
1 минуту назад, DrWeb7_1 сказал:Консоль сервера через некоторое время закрывается, остановившись на этом этапе.
Он даже до этого сообщения не доходит теперь. Клиент ждёт ответа на свой запрос. А сервер что выдаёт в конце?
Попробуй cmd.exe скопировать в папку с игрой и запускай сервер оттуда. Тогда все логи останутся.
До инициализации аккаунта дело не доходит.
Попробую сейчас на виртуальной машине запустить. Может у меня тоже такое будет.
-
Только что, Plotnik5252ru сказал:
Вижу раз сервер на клиенте работает скоро можно переходить к физике
Дык сервер-то давно работает. Скрины ещё на первых старницах есть.
@DrWeb7_1 Попробуй тогда посмотреть, что клиент присылает.
Файл в папку server_py\interfaces\.
В файле Account.py добавляешь такое.
В строке 579
class Account(LittleWorld.Entity, ClientCommandsPort, Chat, AccountAuthTokenProvider):
В строке 593 после
Chat.__init__(self)
добавь
AccountAuthTokenProvider.__init__(self)
Мод "Эмулятор сервера World of Tanks".
in Modding General Discussion
Posted
@DrWeb7_1 Мне кажется, клиент лезет не туда. Есть возможность заблокировать все его подключения, кроме локальных?
У меня-то всё лишнее заблокировано фаерволом. Может поэтому и не возникает подобного. Хотя на виртуальной машине ничего подобного нет.