Snusmumriken
Если точность плавает на 0.01-0.03сек/мин — абсолютно насрать, никто ничего не заметит. А чтобы время так плавало, надо очень, очень постараться.
Snusmumriken
всё это предполагает, что время на обеих сторонах идёт с одинаковой скоростью что не гарантируется из-за неидеальной точности таймеров
Кароч, смотри. Машина такая высылает серверу своё время. Сервер такой вычитает из своего времени время машины, и получает дельту между собой и машиной с учетом пинга в одну сторону. И ко всем своим сообщениям с метками, высылает время плюс дельта. Миленько? Миленько. Для пущего эффекту можно прогнать среднее арифметическое нескольких запросиков, и начать ругаться если дельта сильно меняется.
Snusmumriken
А если игрок шаманит с таймером и его время чот сильно гуляет — ОН ЧИТАК В БАН ЕГО
usernameak
есть охуительный шанс false positives
Snusmumriken
Если его таймер не на резинке гуляет "ускоряется-замедляется туда-сюда" от пинга/плохой связи, а уходит вперёд или назад и стабильно там держится — он читак, в бан его
Snusmumriken
Тем более кто мешает стабильно мониторить пинг и качество связи, и синхронить на участках времени когда пинг норм пингуется. Если уже на этих участках таймер гуляет — это точно ускорение читэнжына
Snusmumriken
Но тогда как только клиент отвиснет, время вернётся обратно. Так?
usernameak
хм, да
usernameak
а вот если ты уведёшь машину в сон посреди игры - нет :)
Snusmumriken
Вернётся обратно.
usernameak
Snusmumriken
Вернётся, вернётся.
usernameak
игры не юзают RTC время
Snusmumriken
Ещё как используют.
usernameak
они юзают время идущее с HPET, а он тикает только когда машина жива
Snusmumriken
Кто сказал что не используют RTC?
usernameak
Ещё как используют.
оно может в любой момент откатиться на несколько часов
Snusmumriken
Ну и норм
Snusmumriken
Бан ))
usernameak
Бан ))
в легальных условиях
Snusmumriken
А если серьёзно, то RTC не откатывается на несколько часов. Только если юзер сам ручками меняет время.
Snusmumriken
Смена летнего на зимнее — не затрагивает ртц, только часовой пояс, а он внутри системы.
usernameak
А если серьёзно, то RTC не откатывается на несколько часов. Только если юзер сам ручками меняет время.
не только - если у тебя произойдёт синхронизация по NTP, вполне может
Snusmumriken
Найн, я проверял
usernameak
винда в ртц хранит локальное время по дефолту
Snusmumriken
Венда в локальное время конвертирует таймстамп при переводе в строчку
usernameak
ну это да
Snusmumriken
Пофигу, кикнем с сервера. Пусть думает над своим поведением.
usernameak
кикнуть это лучше
usernameak
а ещё у ртц отвратительная точность
Snusmumriken
Сойдёт.
Snusmumriken
Открою секретик
Snusmumriken
У венды есть точность ртц до наносекунд
Snusmumriken
И оно особо не врёт, настоящие наносекунды
usernameak
У венды есть точность ртц до наносекунд
эээ... он тикает с периодом больше наносекунды
Snusmumriken
))
usernameak
он тикает раз в 1/32768 секунды
Snusmumriken
Ох
usernameak
т.е. 30 микросекунд
Snusmumriken
Ты кажется новичок
Snusmumriken
Кароч. Один из самых качественных современных методик это примерно следующее: 1. Сервер сохраняет состояние активных сущностей мира с прошлого тика в отдельной копии, коих может накопить допустим штук двадцать. 2. Серверу приходит сообщение "я ножал прыжок вот в это время". 3. Сервер берёт ближайшее состояние мира к этому событию, там обычно доля от dt. 4. Сервер обновляет это состояние мира до момента нажатия прыжка. 5. Сервер применяет событие прыжка. 6. Сервер обновляет все последующие сохраненные копии состояний мира, но с учетом прыжка, рассылает всем сгенерированные события а ля коллизии-эффектики-партикли и прочее, с метками времени офк. 7. Серверу приходит сообщение "я сделал пиу-пиу вот в это время". 8. Сервер берёт ближайшее состояние мира к этому событию. 9. Сервер обновляет это состояние мира до момента "пиу-пиу". 10. Сервер применяет событие "сделяль пиу-пиу". 11. Сервер обновляет все сохраненные копии состояний мира, но с учетом "пиу-пиу", и рассылает всем соответствующие сгенерированные события "пуля была создана вот тут и попала вот сюда, отскочила здесь и отправилась в голову вот этому". Тиков нет. Срезы существуют только для упрощения перемотки назад и применения. ТСП или ЮДП — не важно. Но с тем что у ТСП явный порядок, нам точно не придётся мотать дальше взад чем с текущим событием. Можно взять весь поток событий и полностью восстановить всю последовательность действий.
Венда использует ровно те же методики измерения времени что и ^
usernameak
а, ты в этом смысле
Snusmumriken
Только тики это "срезы", а наносекунды — то что происходит между ними.
Snusmumriken
Скажем так, шедулер венды прекрасно знает наносекунды, и время от времени выдаёт процессорное время задачам сильно меньше чем на 1/32768 секунды.
Snusmumriken
С лялексом схожая ситуация межпрочим
usernameak
Snusmumriken
По моему с NT
usernameak
а, с вин8
Snusmumriken
Ну суть ты понел, надеюсь
Snusmumriken
Так вот
Snusmumriken
RTC это уже норм и атлыщна.
usernameak
но TSC всё же рулит :)
Snusmumriken
Не совсем
usernameak
но TSC всё же рулит :)
ну кроме в вмках, где он всрато тикает
Snusmumriken
С клоком сильно проще читерить тупо замедляя-ускоряя тики в приложуле. Или вовсе перезаписывая переменную счетчика времени.
Snusmumriken
Античит?
usernameak
по одной простой причине: они часто пытаются детектить вмки по странному поведению TSC :)
Snusmumriken
Античит???
Snusmumriken
Блин, лига легенд спустя стотыщлет таки выкатывает всратый античит, жрущий пинг и латенси.
Snusmumriken
Но до этого успешно жила без него. Там, правда, читы возможны почти только через анализ содержимого экрана.
usernameak
самый простой способ борьбы с читами: не делать соревновательные игры
Snusmumriken
Но это сложные и илитные читы за многаденяк, для разработки которых нужна некислая квалификация. Если не лезть в киберкотлетство, то античиты не нужны. Достаточно просто делать авторитарный сервер с нулём значимых вычислений на клиенте.
Domka
античиты зачем, если чел захотел поиграть он будет играть
Domka
проще дать игроку читерить, не при помощи тренеров или иных программ, а типа давать ему развлекаться как в дум етернал, там вроде ты находишь эти самые читы
Domka
подходи творчески к решению проблемы :)
Hello, World! 🎄
Напиши в гугл. Они денежку дают за идеи использования квантового компутера. Я в новосте видел.
Как насчёт попытаться создать сознание используя квантовый компьютер
Luсky
Как насчёт попытаться создать сознание используя квантовый компьютер
Дык несложно - записываешь дамп мозга нанотомографом, обрабатываешь нейронкой и пущаешь на квантовой числодробилке.
Михаил
пока что вот че получилось, https://github.com/Koekto-code/gdbauto удобный ввод с историей команд как в гдб или интерпретаторе луа не работает зато работают макросы
Михаил
макросы сохраняются в .gdbautomacros. все логично
Михаил
кто знает мож либа какая-то есть, чтобы не сырой io.read() использовать а с историей, автокомплитом и т.п.
Михаил
libreadline
lua же вроде линкуется с ридлайн? почему ее нельзя сразу и require?