Пять или шесть лет назад я застрял в написании слоя сетевой эмуляции для игры для PS2. Мне сказали, что все классическое поведение интернет-соединения должно быть отображено; характеристики реалистичных потерь, переупорядочение пакетов, задержка, потеря пакетов, вызванная спешкой. По сути, мне сказали внедрить интернет через пару недель.
Я предложил просто перенаправить весь наш игровой трафик с удаленного эхо-сервера. Когда мне сказали, что абсолютно запрещено отправлять трафик разработки по общедоступным каналам, я просто создал сервер, на который все указали свои PS2-девкиты, который будет хранить каждый полученный пакет и отправлять допплегангер (полный идентификатор исходного пакета). плюс куча случайного мусора, чтобы сделать его того же размера) на эхо-серверах, которые я запускал. Когда доппельгер был получен, я отправлял исходный пакет в его исходное место назначения.
Boom. Интернет-симуляция со всеми шипами менее чем за 8 часов.
UPDATE:
Учитывая успех ответа, я некоторое время назад переопределял сервис эха игры. Казалось, что github может быть лучшим местом для его хранения, поэтому вот оно : если это работает для вас, отлично! Если нет, дайте мне знать. Я ожидаю, что его текущее состояние будет в лучшем случае шатким.