Абуз ладдера
Starcraft II: сказ о том как можно абузить ладдер
Вступление
 
Сегодня наконец-то выходит StarCraft II: Wings of Liberty. За длительный период бета-тестирования выловлено огромное количество багов, исправлен баланс, сделаны исправления в безопасности.
Однако, слона они всё-таки не заметили…
 
Однажды мы играли 2х2 со знакомым на ладдере и болтали по скайпу. Меня вчистую разгромили, и я вышел из игры, а мой напарник продолжил играть (и в результате мы победили). После того как я вышел, я решил посмотреть какие-нибудь реплеи, и зашел во вкладку с ними. Моему удивлению не было предела когда я увидел там нашу последнюю незаконченную игру, вошел в нее, и стал напарнику по скайпу говорить чего они стоят и где (разумеется, реплей длился вплоть того момента как я вышел).
 
Соль
 
Разумеется, я заинтересовался механизмом реплеев, стал изучать систему их работы, и сделал следующие выводы:
 
    Каждый игрок в процессе игры в реальном времени получает всю информацию о ходе игры (как в реплее), и его vision ограничен лишь его локальным клиентом.
    Файл с реплеем пишется прямо во время игры.
 

Соответственно, возможны следующие варианты:
 
    Можно допилить клиента игры чтоб включал полный vision пока нажата горячая клавиша. Однако, этот вариант самый жесткий, можно обойтись и стандартными средствами.
    Можно поставить второй монитор, поднять на виртуалке второй экземпляр игры, пролинковать туда файл с реплеем, и зайти посмотреть чего делает противник прямо в процессе игры.
 

Пути исправления
 
    Имеет смысл писать реплеи на сервере, и скачивать когда человек кликает на реплей (позволять скачивать только завершенные игры)
    Было бы хорошо персонифицировать поток информации в процессе игры, чтоб клиент владел лишь теми данными, которые ему дозволены
 

Заключение
 
Ну всё, теперь у меня не будет искушения использовать это на турнирах и стать королем Starcraft.
Надеюсь, повеселил. Удачи всем!(с)