In new version last update time stopred for specific Cell that store all world objects
placed in it. All objects of Cell updated (or not updated) in same time.
Original version provided by ciphercom.
This reverts commit 10784a8c7cc81c468b5411e973d36ecf31de9603.
Main reason: impossibility for me as commiter test problem and fix all corner cases problems.
Now in case when creature/etc some tices not updates in result stay
in not active (no near players or active objects) cell some important
timers (corpse decay, summon timers, group loot expire, aura durations, etc) will
updates at real diff time from last prev. update call.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
For some systems added exclude use real diff time because current limitations
like move generators. So its stay use last tick diff and considered freeze and
skip all time while creature in not active map part.
* This allows Linux OS to update world every 50ms like Windows (possible speed-up, but more CPU usage).
* This hack was probably used because of old sockets lib, but we don't use this for worldd anymore.
Fixed typo with BattleGroundPlayerMap.
Optimized implementation for removing offline players from battleground.
Fixed typo in BattleGroundMgr::DeleteAllBattleGrounds.
Patch is tested and should work.
TODO there is a bug if you disable premature finish timer, that can cause battlegrounds to be never ending!
TODO rewrite BattleGround::RemovePlayer function - and fix bugs there!
I might not have today enough time to fix those bugs.
Signed-off-by: Triply <triply@getmangos.com>
Cheating preventing at reconect for queued session and sending unexpected packets to server.
Removed unneeded after ACE related changes kicked sessions list.
Added the possibility to use custom process return values
instead of hardcoded 0 (shutdown) or 2 (restart) to allow using them
for various custom external features / better handling.
This can be used through 4 commands in ".server" family:
- shutdown
- restart
- idleshutdown
- idlerestart
Those have from now on 2 arguments, where the second (return value)
is optional:
.server <command> <time> [return_value]
If return_value is not specified, default value (0 or 2) is used.
Signed-off-by: freghar <compmancz@gmail.com>
Set restart exist code for SIGINT singnal case.
Some code simplifications for original patch.
Related code cleanups.
Signed-off-by: VladimirMangos <vladimir@getmangos.com>