2013-2014 Ещё до выхода баголюшена, тогда это был чисто чит-мод для 1.07 и назывался The Cheat Encounter. А потом смеха ради я его переименовал Evolution, а TCE стал чем-то вроде отключаемого плагина для мода, собственно это произошло потому что я дописал набор команд и пару плюшек для лучшего контроля над своим сервером вроде антиспама после того как какой-то дегенерат с ником RockingRyan мне сервер сообщениями в чате один раз закрашил.
2016 С выходом 1.10 исходников пришла в голову идея “А почему бы не смешать энтити из XBOX мода, да ещё намешать туда утилит для контроля серверов вроде антиспама и других полезных плюшек”.
Собственно мод будет включать большую часть энтитей и других плюшек из XBOX мода благодаря очень хорошему дракону - товарищу SLAwww'у, который поделился исходниками сего чудо-мода.
Кстати уже большая энтитей из XBOX мода уже добавлена в мод в переработанном виде.
Конец 2018. Прекращена разработка старого проекта.
2019 Идёт активная работа над новым проектом с тем же именем. Он будет включать в себя лучшее из старого.
1. Сделать создание Terrain'ов используя эту самую ентитю. 2. Voice Chat? Хотя, наверное не получится. 3. Расширенное наблюдение (свободное управление камерой в демках/серверах) Буду предлагать ещё
4. Убрать рассинхроны от использования консольных команд в МП, чтобы удобнее использовать (как в Source играх). 5. Добавить ту же самую возможность исполнения консольных команд через триггеры. 6. Голосования за смену карт (список карт выбирать в настройках сервера так же как выбор конкретной карты на сервер). 7. Добавление собственных оружий и врагов в качестве скриптов для кастомных карт без модов. 8. Галочка на автоматическое создание .vis файла для карты при переходе на неё. 9. Телепорт к любым игрокам в коопе с их подтверждением 10. Хотя бы кубическую коллизию у моделей помимо сферической (выбирается у ModelHolder2) 11. Кастомизация интерфейса 12. Настройка максимального значения хп/брони и галочка на включение регенирации у PlayerStart (-1 для стандартного, зависящего от сложности) 13. Сохранение количества фрагов и смертей игрока при перезаходах (сохранять используя GUID) 14. Не снимать неуязвимость у AFK, если включена (если AFK больше минуты) More incoming...
больше специализируюсь на неткоде и игровой логике
Сетевая совместимость с версией 1.07 - была бы главная фишка. В классике до сих пор в 10раз больше онлайн, чем в революции, но гораздо меньший, чем до закрытия GameSpy.
Сетевая совместимость с версией 1.07 - была бы главная фишка.
Все карты, на которых будут новые энтити, в любом случае будут несовместимы с 1.07. А для игры на картах, где не используются новые энтити, окажется лишним весь код, добавляющий новые фичи для редактирования (например, свитчи уже обрабатываются по-разному в 1.07 и этом проекте). Иными словами, слишком сложно (и не нужно) одновременно иметь новые фичи и полную совместимость с 1.07, от одного из двух придётся отказаться, чтобы оно не тянуло весь проект ко дну, как якорь.
Where did all the dragons go? We searched in the hills and we searched down the canyons, we even scanned the depths of the caves with our armour, swords and lanterns. Oh, if only had we seen him lurch, from his glorious skull covered perch.
CRACK went his claws and SMACK swipped the tail, a ROAR of might, one big BITE.
_Alex;146046]Сетевая совместимость с версией 1.07 - была бы главная фишка. В классике до сих пор в 10раз больше онлайн, чем в революции, но гораздо меньший, чем до закрытия GameSpy.
Так и останется, не вижу смысла волноваться. Никогда такого не было, чтобы какой-либо мод / последователь / иной проект к TSE утянул на себя всю активность (HD не в счёт :P). Даже в 2008-м году при релизе мода Team FragMatch (не путать с модом TeamDeathMatch, вышедшем в 2007-м), при всём его пиаре на зарубежных форумах, больше месяца постоянная активность не протянула, а в 2009-м уже все отказались от серверов с модом. С Revolution в плане активности сложилось абсолютно тоже самое. Со всеми последующими модами ситуация и вовсе сложилась так: играют, лишь спланировав игру заранее.
________
Касательно проекта - слышал, помню, жду. ))) Идей не могу подкинуть, не высыпаюсь в последние дни, голова не варит, скажу лишь то, что необходима сетевая стабильность, максимум стабильности. Если придётся, лучше отказаться от половины фич, но продолжать реализовывать и поддерживать сетевую стабильность, отсутствие рассинхронов и так далее. Чтобы не вышло, как в Революшн и STM первой версии. : D Но я на все 85 % уверен, что у тебя с этим проблем не будет. )
Сообщение отредактировалZeo - Среда, 10.08.2016, 23:33
...Keep going... 15. Позволить выбор до 64 игроков на сервер (или как получится) 16. Как-нибудь улучшить производительность и оптимизацию для рендера большего кол-ва брашевых полигонов (опять же, если возможно) 17. Ентитю DebrisSpawner для спавна кусков мяса/камней/других моделей с настройками цвета, угла швыряния при спавне, и т.д. 18. Кастомизация снаряда у Eruptor'а (или какой-нибудь Eruptor2 с одним настраиваемым снарядом) 19. Позволить админам сервера назначать админов/модеров других 20. Соответственно давать права админам/модерам на noclip, кик, бан, телепортация без подтверждения. 21. Параметр в настройки сервера "Team Friendly Fire: True/False" позволяющий не наносить урон тем, у кого та же команда в строке "команда" в настройках, что и у вас 22. Не сбрасывать запись демок при переподключении из-за "Too many bad syncs" и подобного (или начинать заново автоматически) 23. Запись чата на демках (например в .ini с названием демки в формате [Player name] demo_time="message")
Пока что будет только бинарная совместимость. Это означает, что старые карты, текстуры и модели будут открываться. В сетевой совместимости с основной веткой не вижу особого смысла т.к. в основную ветку 1.10 никто не играет. Делать совместимость с 1.07 тоже сложно. А ещё я буду частично менять протокол. Например сделаю чтобы клиенты получали левый GUID, чтобы защитить GUID от кражи.
Нет. У каждого игрока GUID будет храниться в файле, как и сейчас. При заходе на сервер игрок в пакете отправляет GUIDы игроков за которых хочет зайти и уже сервер будет решать к каким игрокам его подключать, а сейчас там сделано так, что все клиенты решают к каким игрокам подключать клиента. Просто сейчас всё работает так, что GUID каждого игрока знает каждый клиент и его любой клиеет может стащить.
Кастомизация снаряда у Eruptor'а (или какой-нибудь Eruptor2 с одним настраиваемым снарядом)
Для этого уже есть энтити Weapon.
Where did all the dragons go? We searched in the hills and we searched down the canyons, we even scanned the depths of the caves with our armour, swords and lanterns. Oh, if only had we seen him lurch, from his glorious skull covered perch.
CRACK went his claws and SMACK swipped the tail, a ROAR of might, one big BITE.
Ты заслужил чтобы тебе крашили серв сообщениями,будешь более дружелюбен не будет срача в чатах и прочее.
Память разбита,вся правда зарыта. Забыл даже Имя свое! Что нынче за время? Зачем несу бремя? Стою без ответа с клиииинкооом. Район этот мертв! С лица земли Стерт! Лишь ветер холодный со мной... Со злобой в груди я стремлюсь победить и точно я знаю одно...
Один раз сломали всего и то был какой-то школьник с ником Rocking Ryan, который загорелся от того что я с миллионом ХП бегал по стенам и потолку, да ещё и с моделькой уменьшенной, после этого я запилил хотфикс от такихзлобных школьников (наговнокодил антиспам). Так что не велика беда. Приеду - надо будет портировать.
24. Ентитя на отрисовку всего, что угодно на экран (квадраты, линии, иконки, текст и т.д. из DrawPort) на координатах X,Y или относительно GetPlacement() ентити в таргете (если указан) +относительный FLOAT3D. 25. Ентитя, при активации которой таргету (или если не назначен - игроку/ам) дается GiveImpulseTranslationAbsolute в настраиваемое направление. 26. Зажатие и удерживание Use кнопки на Switch помимо однократного нажатия 27. Разделение врагов на команды (как в Advanced Monster & Item Classes) и enum с выбором кого атаковать (игроков, другую команду, игроков & монстров, игроков & другие команды и т.д.) 28. Ентитя, при активации которой игроку/ам меняется значение хп/брони и т.д. (если через PropertyChanger нельзя) 29. Ентитя "SkinHolder", позволяющая загрузить любой .amc и менять любые анимации, позиции, поворот любого аттачмента скина (свою кину в лс для "примера") 30. Ентитя "SkinAnimator", позволяющую менять значения вышеуказанной энтити 31. Позволить менять Pitch у SoundHolder, MusicHolder 32. Резкое переключение музыки (без перехода) у MusicChanger 33. Сделать возвожмным настраивать параметры ентитей типа FLOAT3D в редакторе (а то приходится юзать ANGLE3D, чтобы можно было вводить что-либо) 34. Ctrl+C, Ctrl+V туда, где можно вводить текст (с лимитом в 30 символов, наверное) 35. Позволить видеть через браш с MirrorMarker в браш с MirrorMarker (как в Portal и хотя бы 1 раз)
Можно генерировать собственный GUID для каждого сервера и хранить на нем же (для того же сохранения фрагов и смертей)
Это неправильно, на мой взгляд.
Просто нужно не генерировать его, а получать на основе железа и постоянных значений. Анжело например, хотел использовать серийный номер жесткого диска, когда он еще был полон энтузиазма по поводу революции.
Я предлагаю использовать MAC адреса адаптеров и User ID, и переписывать GUID заново в файлах при каждом подключении к серверу. Чтобы конечный клиент не мухлевал с ним.
Вот набросал вчера перед сном небольшой пример - как можно получить MAC адреса и User ID.
Зачем менять генерацию GUID вообще? Сейчас если не ошибаюсь он генерится с помощью OpenSSL или виндовской функции, не помню. Суть в том, что сейчас неткод написан так дерьмово, что каждый клиент на сервере знает GUID (получает информацию от сервера) каждого игрока. Я лишь хочу переписать механизм захода на сервер, чтобы клиент заходящий на сервер знал только GUIDы своих игроков и всё.
Проблема не в генерации GUID, а в том, что сейчас недобросовестные игроки могут воровать чужой GUID и добиваться их бана, после чего владелец оригинального GUID тоже окажется забанен. Даже если поменять метод генерации GUID, в текущей имплементации клиенты всё равно будут их получать, и смогут немного изменить код, чтобы подставить чужие данные на место своих.
Where did all the dragons go? We searched in the hills and we searched down the canyons, we even scanned the depths of the caves with our armour, swords and lanterns. Oh, if only had we seen him lurch, from his glorious skull covered perch.
CRACK went his claws and SMACK swipped the tail, a ROAR of might, one big BITE.
Да Слав, это тоже верно, и страдают от этого честные игроки, которые чаще всего и понятия не имеют о том - что такое GUID. Непонимаю я таких людей, которым в радость нагадить другим. Поэтому GUID должен получать только сервер.
Но генерация GUID с привязкой к железу и системе тоже имеет смысл. Например на амстредамовских серверах в системе банов участвует также id на основе GeoIP. Поэтому если зайдет игрок из Казани, сетевая карта которого находится во Владивостоке - это будет подозрительно)
И про GUID знает ограниченное число игроков. Большинство даже не знает об его существовании. Например до сих пор на сервера заходят люди с читерской сборкой игры с уже сгенерированными GUID. Эти GUID прописаны в базе самтрека и админ сразу знает - что игрок использует читерскую сборку игры. Хотя специально их никто не банит.