IOPlayer
Ученик
Лимит на виртуальные миры очень велик - что есть плюсом, лимит на интерьеры 256.
В дальнейшем я собираюсь делать кастомные инты для пользовательских домов.
И тут возникает вопрос, как это лучше реализовать?
1. Изначально я планировал юзать CreateDynamicObject в OnGameModeInit, тем самым создавая маппинг
при инициализации сервера, но тогда VirtualWorld и Interior для обьекта останутся статичными.
Проблема:
- я не смогу распихать каждого игрока в свой мир чтобы они не пересекались.
2. Исходя из проблемы пункта один, я подумал и решил что можно использовать CreateDynamicObject
при инициализации подключения нового игрока, и если у него есть дом - создавать маппинг с уникальным
VirtualWorld, хранить номер мира и в случае надобности перемещать туда игрока, и соотвественно
DestroyObject при Disconnect.
Проблема:
- I) сервер однопоточный, в теории подключений/отключений может быть очень много за короткое время.
Есть ли данные как сильно нагружает/тратит время сервер на обработку CreateDynamicObject.
- II) игрок может за всё время игры так и не воспользоваться своим маппингом, а он будет висеть в памяти,
тем более он будет висеть в памяти плагина streamer, я не знаю как он реализован, по этому мне кажется что
лишний маппинг - уменьшит и скорость создания других динамических обьектов когда игрок будет с ними
взаимодействовать.
3. Вариант похож на второй, только чтобы решить проблему (2.II) - перенести CreateDynamicObject в то
место, при котором игрок начнет инициализацию входа в свой дом, тем самым - пока игрок дома - обьекты живут,
как только вышел - они удалились и память не нагружают. Но остаётся проблема из пункта (2.I).
Проблема:
- сервер однопоточный, в теории входов/выходов в инту дома может быть очень много за короткое время.
Есть ли данные как сильно нагружает/тратит время сервер на обработку CreateDynamicObject.
Интересует как бы поступили вы, какой вариант лучше в реализации. И возможно я допустил ошибку где то,
укажите на это если оно так.
В дальнейшем я собираюсь делать кастомные инты для пользовательских домов.
И тут возникает вопрос, как это лучше реализовать?
1. Изначально я планировал юзать CreateDynamicObject в OnGameModeInit, тем самым создавая маппинг
при инициализации сервера, но тогда VirtualWorld и Interior для обьекта останутся статичными.
Проблема:
- я не смогу распихать каждого игрока в свой мир чтобы они не пересекались.
2. Исходя из проблемы пункта один, я подумал и решил что можно использовать CreateDynamicObject
при инициализации подключения нового игрока, и если у него есть дом - создавать маппинг с уникальным
VirtualWorld, хранить номер мира и в случае надобности перемещать туда игрока, и соотвественно
DestroyObject при Disconnect.
Проблема:
- I) сервер однопоточный, в теории подключений/отключений может быть очень много за короткое время.
Есть ли данные как сильно нагружает/тратит время сервер на обработку CreateDynamicObject.
- II) игрок может за всё время игры так и не воспользоваться своим маппингом, а он будет висеть в памяти,
тем более он будет висеть в памяти плагина streamer, я не знаю как он реализован, по этому мне кажется что
лишний маппинг - уменьшит и скорость создания других динамических обьектов когда игрок будет с ними
взаимодействовать.
3. Вариант похож на второй, только чтобы решить проблему (2.II) - перенести CreateDynamicObject в то
место, при котором игрок начнет инициализацию входа в свой дом, тем самым - пока игрок дома - обьекты живут,
как только вышел - они удалились и память не нагружают. Но остаётся проблема из пункта (2.I).
Проблема:
- сервер однопоточный, в теории входов/выходов в инту дома может быть очень много за короткое время.
Есть ли данные как сильно нагружает/тратит время сервер на обработку CreateDynamicObject.
Интересует как бы поступили вы, какой вариант лучше в реализации. И возможно я допустил ошибку где то,
укажите на это если оно так.
