Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Поскольку игра состоит скажем так из 3х частей...
- клиент 1 <-> Сервер <-> клиент 2
- самый главный - сервер,и он может работать в любом случае,при любом раскладе,контролировать бой,какой-бы софт и лаги не делали клиенты...вот на нём и нужно ввести жосткую диктатуру...
- чтобы при любых действиях Клиента - сервер обрабатывал бой в себе,и только частично ригулировался клиентами
- если говорить точнее,то сделать чтобы при входе в бой - сразу снимался залог фузов с обеих сторон (чтобы при ЛЮБОМ раскладе - было не выгодно отменить бой,ведь спишет фузы)
- далее,запускать таймер по 30 секунд именно в Сервере,и по истечению их - сервер передаёт ход Следующему клиенту (ведь при отмене боя - клиент висит более 30 секунд,почти минуту,а ход - НЕ передаётся следующему)...
- после передачи хода клиента 1 - все комманды от клиента 2 не принимаются сервером,и если даже в случае что даже Никаких команд не высылается и не принимает (т.е. он пропал) - игра продолжается без него...
- сделать сервер независимым от клиентов Полностью...
- убрать полностью весь код по поводу любых отмен и ошибок,сделать жёсткую диктатуру...
- если у кого-то раз в неделю игра глюкнет и бой зависнет не по его вине и фузы снимет - это лучше чем сотни людей будут по 20 раз в сутки отменять бой...
- В общем сделать бой внутри сервера весь,а клиентам только высылается весь результат проведения боя всё время,и во время хода клиента - принимает и обрабатывает запросы...
- если их нет вобще - просто ждать,если нету - передавать ход дальше...
- если шлются команды левые - просто не принимать их,чтобы сервер не грузить больше
- + обрезать длину сообщения...если выслать текст символом на 500 000 то игра будет ели ездить...
- и будет всё ок=)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement