Jump to content
  • Announcements

    • Xmat

      Pravidlo pro postování v TTT

      Do sekce Tipy, triky, tutoriály nepatří žádné dotazy.   Postujte sem vaše návody, tipy a různé další věci jež uznáte za vhodné sdělit zdejšímu osazenstvu, ale veškeré dotazy směřujte do sekce Všeobecná diskuse.
    • Replik

      Seznam návodů a důležitých témat v této sekci

      Pro lepší přehlednost jsem vytvořil tento seznam, který vás, méně zkušené, lépe provede touto sekcí. Věřím, že zde najdete, co hledáte. Vypsané jsou návody, které jsou oficiálně uznané jako návody. Běžné diskuze, které neposkytují postupy a rady zvěřejněny nejsou.   Instalace vlastního MaNGOS Serveru Díky těmto návodům budete (měli by jste být) schopni vytvořit a následně spustit váš vlastní server. Nastavení je pro verze s i bez datadisku.   Instalace MaNGOS Serveru (bez datadisku TBC) - Autor Benny Instalace MaNGOS Serveru (s datadiskem TBC) - Autor Malfik Instalace MaNGOS Serveru v prostředí Linux - Autor charlie Instalace MaNGOS Serveru v prostředí Linux - Autor kupkoid   Chyby a jejich řešení při přihlašování k serveru - Autor Cybe   Zálohování uživatelských dat   Dávkový soubor (BAT soubor) pro vytvoření SQL záloh - Autor Replik   Kompilování - tvoření vlastních release (revizí)   Tvorba kompilací pro Win32 (MangoScript) - Autor bLuma   Ostatní - těžko zařaditelné, ale neznamená to, že nejsou dobré   VIP Systém - Autor charlie Tvorba Webových stránek pro MaNGOS - Autor zahuba Tvorba teleportačních NPC (MangoScript) - Autor Replik Registrační web (původně předělaná SPORA) Funkční pro Antrix i MaNGOS - Autor Replik Nastavení a spuštění Minimanager pro MaNGOS - Autor BlackMartin Nastavení MaNGOS Website - Autor Artorius   Samozřejmě jsou zde i jiné návody, ale tyto jsou nejvíce používané, proto věřím, že vám budou nápomocné. Tuto sekci budeme upravovat podle potřeby. Pokud by jste něco nenašli nebo si nevěděli rady, hledejte na fóru a teprve potom založte vlastní topik. Pokud nějaký autor vytvoří kvalitní návod a chtěl by ho zveřejnit i v tomto seznamu, doporučuji, aby mi napsal zprávu skrze PM.   Díky a přeji hezký den na WoWResource   Replik
    • Aristo

      Příspěvky tam, kde nemají co dělat

      Dodržujte zákaz přispívání do topiků s repaky pokud si to zakladatelé nepřejí!! Opakované psaní příspěvků bude trestáno warnem.
    • Aristo

      Používání spoilerů

      Poslední dobou má většina uživatelů fora zvláštní nutkání postovat extrémně dlouhé texty nebo kódy, které zabírají v nejedenom případu i 80% obsahu celé stránky a hodně tak zvedají nepřehlednost v topiku. Chtěl bych všechny uživatele požádat, aby při postování citací, jakýchkoliv kódů, errorů, atp... delších než 30 řádků používali funkci spoileru.   Funkci vyvoláte příkazem [spoiler] text [/spoiler]   Ukázka:  
Sign in to follow this  
Ganimoth

V6 (client ver.2.3.3)

Recommended Posts

Původní topic:

http://kobold-team.com/forum/viewtopic.php?f=5&t=48

 

Kobold Server V6

------------------

Supported client version: 7799 (client ver.2.3.3)

Server version: 2691

 

Kobold Team is glad to release next server update V6.

 

[!]This update must be put over V5 Kobold Server version only. It is not full server.

 

 

Windows - Binaries - Tools:

--------

x86 (2691 rev.):

http://depositfiles.com/files/3675120

 

x64:

http://depositfiles.com/files/3675199

 

Linux: ([!] please redownload corresponding versions from below)

-------

 

x32 (built under Ubuntu Desktop 7.10 'Gutsy Gibbon' (http://www.ubuntu.com/'>http://www.ubuntu.com/) with all standard dependencies (Python 2.5, Mysql 5.x, Openssl)):

http://depositfiles.com/files/3700631

 

x64 (built under Ubuntu Server 7.10 (http://www.ubuntu.com/) with all standard dependencies (Python 2.5, Mysql 5.x, Openssl)):

http://depositfiles.com/files/3702435

 

 

Scripts - SQL updates:

---------------

[!] Complete SQL updates, please use these files (sort files by their date and apply SQL updates in same order from lower to higher date):

http://rapidshare.de/files/38639184/sql.rar.html

Full dump of empty DB to check possible changes: http://rapidshare.de/files/38639114/dump.rar.html

 

[!] Scripts:

http://rapidshare.de/files/38638301/scripts.rar.html

 

 

News:

-------

 

Game engine core:

++++++++++++++++

Game engine core was drammatically changed/improved in comparison to V5 and now is FULLY asynchronious model (all map instances updated by own threads) providing no dependancy of one map instance over another in terms of waiting times. Players as a result will experience lag-free and smooth gameplay.

 

Network core:

++++++++++++

V6 includes special high performance networking reactor under Linux based on epoll(), under Windows based on epoll() interface emulated with IOCP (our own exclusive implementation). RS is now able to provide any online you can expect (tested with 15000 active connections 'dummies' on real WoW server), to use it please enable config option:

 

# Should Realm Server use high performance network reactor (Windows: IOCP, Linux: epoll, BSD: kqueue)

# Enable this option to accept many connections to Realm, it is recommended for connections > 300

# Default: 0, change to yes or true or 1 to enable

#

UseHighPerformanceNetReactor = yes

 

IOCPed epoll() under Windows is enabled for LS and RS as you will have most connections to these 2 servers, WS - CS - ES are using basic select() methods in order to save on running threads per process. Under Linux by standard all servers communicate using epoll(), unless for LS or RS you explicitly disable its usage by specifying 'UseHighPerformanceNetReactor = no' downgrading to select() reactor.

 

 

Changes:

-----------

More detailed log on changes will be posted later on.

 

 

Issues:

--------

 

Windows users:

+++++++++++++

Those who will use IOCPed epoll() under Windows shall disable Antivirus software or include LS and RS into a list of Trusted applications for your installed Antivirus software. Othervise you may experience problems with connection establishment of RS to WS (connection aborted).

 

Repackers:

+++++++++

Due to absence of activity in repacks we switched off support for SQLite in this release during compile time, in case of necessity it can be re-anabled again.

 

Have fun :)

Edited by Ganimoth

Share this post


Link to post
Share on other sites

Tohle je jen update, musis vzit puvodni Kobold V4, prez nej hodit update V5 a na to hodit V6. V4 by mela byt nekde tady na foru. Odkyz na stranky a tracker najdes tady na wiki, svn neni, protoze to neni open source emu.

Share this post


Link to post
Share on other sites
Tohle je jen update, musis vzit puvodni Kobold V4, prez nej hodit update V5 a na to hodit V6. V4 by mela byt nekde tady na foru. Odkyz na stranky a tracker najdes tady na wiki, svn neni, protoze to neni open source emu.

Aha mno to je špatne.. to jako nemužou hodit kompletni verzy? mno kouknu se na to.. ma to vubec cenu testovat? neni to zas emu fungujici na 2%? :)

Share this post


Link to post
Share on other sites
Aha mno to je špatne.. to jako nemužou hodit kompletni verzy? mno kouknu se na to.. ma to vubec cenu testovat? neni to zas emu fungujici na 2%? :)

Mnohem vic, blizi se Ascentu/Mangosu, ale jak hodne a zda a v cem je lepsi/horsi nevim, musel bych to otestovat a to nemam cas :).

Share this post


Link to post
Share on other sites

Teoreticky asi hodne dobry skriptovaci moznosti, ale jak rikam, nezkousel sem.

 

Neodporucam testovat doma :D start time sa blizi k 30 minutam. Sak v4 bola robena na to aby bezala na 4 kompoch...

A zkousel si i V6? Ja jenm, ze tam sou nejaky kydy o zlepsenym vykonu, ale tomu se asi neda verit, co? :)

Edited by Ganimoth

Share this post


Link to post
Share on other sites

start V5 = 10 min na C2D 2ghz 2gb pameti a 2,5 5400otacek disk.. takze nic strasnyho funkcnost -> par chybek to ma ale je to dost blizko ascentu/mangosu v necem rekl bych lepsi

Share this post


Link to post
Share on other sites
Tohle je jen update, musis vzit puvodni Kobold V4, prez nej hodit update V5 a na to hodit V6. V4 by mela byt nekde tady na foru. Odkyz na stranky a tracker najdes tady na wiki, svn neni, protoze to neni open source emu.

 

V4

http://www.wowresource.eu/index.php?showtopic=6220&st=0&p=50565entry50565

V5

http://www.wowresource.eu/index.php?showtopic=6569&st=0&p=53147entry53147

nemám páru proč to tu admini smazali.... když se na tom začlo zase dělat... :whistling:

Edited by Time

Share this post


Link to post
Share on other sites

jinak tady pro ty línější hledat ((changelog))

+++ blizzlike teleport coor
+++ removed extra thread locking on packet send in WS

+++ netcore: working on Edge-Triggered emulation (almost completed), epoll emulated under Windows does support ET behaviour although not yet tested

+++ UseHighPerformanceNetReactor setting is now also good for ES and WS

+++ netcore: epoll() (Linux/Win), on recv() if EAGAIN is received connection will not be dropped
+++ fixed crash on Groups if deleted while having BG registration
+++ fixed portability issue with output of 64bit integers to printf like f.
-- more work on quest packets.
+++ started implementing faster asynchronious epoll() Edge-Triggered feature :) this road will never end :)....
+++ more documentation on epoll()
+++ new Python API:
    add_varargs_method ("Despawn", &PyUnit::ext_Despawn, "(respawn_time_ms, respawn_at_spawn_loc) Despawns Creature with 'respawn_time_ms' and respawns it at spawn location if 'respawn_at_spawn_loc' == 1.");

+++ epoll() IOCP: reimplemented event collection for new connects for Listener sockets using asynchronious Winsock API WSAEventSelect for less CPU work and be more eventable-like model
+++ fixed epoll() IOCPed reactor correct closure
+++ fixed pthread POSIX try_lock mutexes (errno was mistakenly used for EBUSY condition check that is fully thread unsafe, using return value instead now)

+++ enabled ASSERTs for Public versions
+++ decode some spell attributes.
+++ aux: hidden public members of thread_container
+++ PyCXX: improved method call speed by x2 times 

+++ fixed usage of ASSERT_AUX in epoll()

+++ fixed spells like Flamestrike to be stuck on player 

+++ tried to fix infreq. crash in ES on items

+++ fixed GMs shutdown 
-- SMSG_QUESTGIVER_QUEST_DETAILS done (kos add Honor points and reward spell for it).
+++ fixed "Required %"

+++ implemented GO quest status signs
+++ move quest reputation to new sql table ( check sql svn )

+++ more checks on data loading
+++ correction to Quest dialog status for GO
+++ probably fixed "Requires %s"
+++ disabled GM commands on players/self if player is on taxi/transport
+++ Load only teach spellprices (ignore others)

+++ Output spells with NULL price (missing from table) to log
+++ fixed crash in epoll() IOCP on exit
+++ expanded object_cast<> to Object to Object situation
+++ SMSG_QUESTGIVER_QUEST_DETAILS will work for item quest givers also
+++ reverted PyCXX to std::map
+++ fixed compile
+++ completed hash functor
+++ quest packet fix
+++ fixed GetQuestFinishSpellId() PY API

+++ improved PYCXX performance (PLEASE REBUILD DEPLIBS PRIOR PROJECT COMPILE)
+++ speedup PYCXX methods lookup during runtime using hash_map + hasher function
-- reverted -)
+++ close quest window if mob has == 1 quests
+++ fixed ASSERT on ES closure

+++ new method GetQuestCount() for Creature
-- more work on quest packets.
+++ improved sqlpp's Query class
+++ non important corrections (interproject updates)
+++ new Python API:
- GetQuestFinishSpellId(quest_id)
- GetQuestBeginSpellId(quest_id)
for scripting of buff/debuff spells on quest interaction. 
You will ned new table 'quest_spells' from SVN.
+++ modified all projects to be using SSE CPU extensions
+++ corrections to Affect Add/Remove
+++ fixed crash on Affect add (my mistake)
+++ reanabled stack walking to detect mutex deadlock

+++ try-catch block will also Log now in Scripts lib
+++ fixed compile

+++ removed hack for emotions in SMSG_QUESTGIVER_QUEST_DETAILS: to-do: emote data for quest details shell be loaded from DB

+++ added 'm_honorPoints' to Quest class: to-do: load it from Quest proto from DB
+++ fixed item binding

+++ fixed compile

+++ reverted changes to sql
++ (Pls NEVER change anything there without talking to me, all stuff there is tested and working bug-free)

+++ epoll: better memory management


Notice: NEVER make commits without explanations of what was done!!!
+++ epoll() IOCP: optimized recv buffer size to be calculated on the fly boosting buffer when data portion is large and decreasing respectively when packets are small
+++ HandleAddAffect will delete affect now if target was Null
-- Modify quest packets structure.
+++ fixed ghost (PLEASE DO NOT DO UNTESTED OR ROUGH CHANGES WITHOUT KNOWING THE RESULT OR CAUSE)

+++ corrections to loot to save on CPU

+++ switched on mutex debugging to detect deadlock
+++ fixed asserting on item deletion if couln't find/load it from DB
+++ improved IOCP to be using linked list and removed dependence from all STL containers except hash_map
+++ added warning output for spells with 0 price

+++ fixed loot
+++ maximized epoll() IOCP speed by using linked lists for frequent objects
+++ fixed player ressurection script API
+++ fixed bug when quests could not be completed if item was held in additional bags

+++ fixed item count getter which would affect other game aspects I guess

+++ fixed GHOST aura not be saved into DB preventing players be between Alive/Dead :)
+++ more loot tables.. ( 2sql )
+++ added 
min_count 
max_count
to items,creatures loot (need sql)
+++ dramatically improved CPU utilization in epoll() using IOCP = 15000 active connections take 10% CPU + 2% for every 5000 new connections
+++ fixed compile
+++ more work on network core, seems IOCP is finished and needs mass test
+++ new dbc stores
+++ fixed StableSlotPrices and BankBagSlotPrices

+++ code cleanup
+++ info about procflags
+++ fixed forced external socket close for epoll()
+++ also to LS
+++ disabled abortive connection close out of rector in RS
+++ more on IOCP
+++ more on IOCP
+++ seems like finished IOCP epoll() reactor for Windows, pls try it now :)
+++ code cleanup
+++ more work on IOCP
+++ more work on IOCP
+++ more work on IOCPed epoll(): completed problem (1) when connections are dropped, now problem (2) - asynchr. data flaws
+++ fighting with epoll iocp reactor...
# Should Realm Server use high performance network reactor (Windows: IOCP, Linux: epoll, BSD: kqueue)

# Enable this option to accept many connections to Realm, it is recommended for connections > 300

# Default: 0, change to yes or true or 1 to enable
#
UseHighPerformanceNetReactor = no
+++ summon wild spell effect can now put spawned creature into destination given by client
+++ seems that Reactor_EPoll is fixed now to accept new incoming connections awaiting for data portion on connect and not sending anything before that
+++ tried to fix some spell effects
+++ completed epoll() emulation using IOCP and enabled Reactor_EPoll for LS & RS, please report any bugs to me ASAP
+++ almost completed Reactor_EPoll emulation using IOCP under Windows, though all servers use Reactor_Select for stability 
+++ almost completed IOCP (disabled though)
+++ started epoll() Win emulation using IOCP to provide same fast net engine under Windows
+++ fixed Reactor_Poll/Reactor_EPoll/Reactor_Select misc errors
+++ some stuff..
+++ optimized Reactor_EPoll for Win
+++ my new ID

+++ fixed RS to be working more correctly with WS connections

+++ fixed Reactor_EPoll (starting Win optimization now :))
+++ Reactor_EPoll: windows version got now >1 epoll() reactors creation ability
+++ Reactor: implemented Reactor_EPoll:
- Linux: using native epoll interface
- Windows: implemented own epoll emulation :) based on select()

+++ fixed priority setting for threads in POSIX threads
+++ some stuff
-- Add owned and bidder sends in auction. (cant find expired auction, so TODO)
+++ optimized aux::average_time 

+++ swithced off mutex debugging

+++ corrected projects 

+++ fixed Reactor_Poll for Windows
+++ fixed add affect ^^
+++ fixed Linux build and fixed all incompatibilities, Linux now is 100% == Windows version with all background supporting libs incl. memory pool
+++ fixed <item>: unknown stat type[-1] by default in db we have it. with 0 value.)
+++ work on system classes/aux lib/mempool, implemented POSIX mmap()/unmap() for page allocations in mempool
+++ fully reworked logics of post Add/Remove affect actions

+++ AreaTriggers now unified back to 1 map, no sense to keep in to 2 and make mistakes with it (pls do not modify anymore, it is fully correct)

+++ implemented Item Stats for Combat Ratings, now items will give them :)
+++ reorganized new memory pool to be real library now

+++ AUX_ASSERT will 'throw' now to generate crash-dumps
-- Add SMSG_AUCTION_BIDDER_NOTIFICATION.
+++ fixed areatriggers 
+++ cleanup 
+++ aux lib got CLog bound for logging into file log also

+++ Auction: owner will now receive notifications also when comes online if auction was completed while offline
-- version changed to 2.3.3.

-- correct structure of SMSG_AUCTION_OWNER_NOTIFICATION
+++ improved comressor
+++ fixed falling damage

+++ fixed RS crash on too early thread start
+++ switched on 2-nd mempool, it is yet Windows only, if works well will port no NIX
+++ new Quest handling API:
# -------------------------------------------

# Called in time when 'player' will get update-create information on this npc 'self' providing ability to customize default NPC 'flags npc_flags_current'

# if no action is needed return 'npc_flags_current' unchanged.
def OnNPCFlagNotify(self, player, npc_flags_current):

    
# modify npc_flags_current and return result if you wish to customize NPC flags which will be seen by 'player'

   
# return default NPC flags if no action is needed

  return npc_flags_current

To provide dynamic NPC flags corrections to any NPC which player will see. NPC flag changes by handler do not affect set NPC flag on creature, it is only for player which is given by handler. You can even prevent eny player for interacting with NPCs by simply Nullifying the flags and etc..
-- Fixed bug when player can wrap bags.
+++ fixed my yesterday's bug with passive affect
+++ fixed GO to be active/inactive on quest status change of player
+++ new addons to AUXLIB 

+++ reverted Compressor to use system's realloc//free
+++ compressor...
+++ fixed Zlib compressor 

+++ fixed passive special spells be removed with all bound affects, like: http://www.wowhead.com/?spell=30234

+++ GO to be active/inactive for quests must be at least in InvolvedObjects SQL table!!!!
+++ added instance req diff for alli\horde
+++ fixed mangos converter
+++ some corrections for pool/compressor/assert
+++ removed mempool wrapper from compressor (I AM VERY SORRY)
-- Uncommented check item on reqskill.

-- Remove double result send if item can't be equipped.
-- Correct my check for skinning.
-  Fixed bug when player can skin corpse while loot not empty.
-  Fixed bug when player can prospect while looting.
-  Fixed bug when player can disenchant while looting.
-- fixed compile (moved object management from protected to public).
+++ tried to fix Boss freezeing
+++ skip friends at target collection for AOE spells
+++ fixed mana cost for spells with manacostperlevel
+++ more fixes to mem wrapper
+++ spells like Bloodlust will also be affecting spell cast times
+++ returned MM integrity control back to operations
+++ fixes to mempool wrapper

+++ tried to fix bug when Quests go inactive when moved to bag from bagpack

+++ improved some handlers being not working with global containers now
+++ switched off C- external mempool due to constant leaks, bye bye
-- add spellcheck for outdoors (kos check pls)
TODO:

- add SPELL_FAILED_NOTHING_TO_DISPEL to SpellEff_Dispel.

- add SPELL_FAILED_NOTHING_TO_STEAL to SpellEff_StealBuff.

- add SPELL_FAILED_WRONG_WEATHER to all flying mounts if weather in area >0 (like rain, sandstorm and etc.)
-- more work on defs.
-- Add info for spell cast result.
- new defs
- code beauti.
+++ fixed group registrations for instances
+++ implemented realloc in mempool based on malloc/memcpy/free
+++ disabled mempool
+++ fixed ES deadlock 
+++ added more logging to debug money transactions ES-WS
-- sory was commit wrong files
-- chat and enums from 2.3.3
+++ reenabled timeouts in mutexes to detect deadlock in ES (import may crash on timout, if you plan to import dumps uncomment like this

//#define _DEBUG_THREAD_LIB__MUTEX_TIMEOUT
in common/tools/config.h 
+++ improvements in thread classes 

+++ fixed mem corruption in ES (also it was crashing on start due to it)

+++ improved object handling in WS handlers

+++ added more thread safety to ES
+++ implemented Pull spell effect 

+++ fixed bug when higher ranked Rod could not be used for enchanting

+++ implemented Heal Mechanical spell effect
+++ not important 0 check
+++ improved organization
+++ reverted creature sizing
+++ fixed memory corruption by mempool (now it does not give SEGFAULT under Linux and unordered crashes under Windows)

+++ fixed mempool::pcalloc func. (wrong param order)

+++ fixed vcprintf port for Linux (1 num was cut of va_args size)

+++ improved string::fmt formatting functions

+++ implemented thread priority get/set for Linux, although to change it you will need root previlegies

+++ fixed SQL sintax for sqlppstructtable.inl _get_format() for Linux

Sorry could not Mirc as was under Linux and often rebooting :) See ya!
+++ let's use parsed prototype's data instead of DBC statics which are sometimes wrong
+++ switched off mempool object creations at all 

+++ implemented new spell effects
+++ changed rw-mutex type in ES to more safe
+++ PY: InterruptManaRegen
+++ fixed player account stuck if no instance was found on player login
+++ fixed crash on CloseSessions if player is being loaded
+++ reverted pool changes to original
+++ more fixes..

+++ SPELL_CRIT_* not affect to melee crit school
+++ fixed portability
+++ switched off internal mempool's logics but it will still use our wrapping logics to check if it is correct
+++ fixed 64-bit portability issues in mempool
+++ fixed Linux compile 

+++ fixed VS 9.0 compile 
+++ fixed crash in ES if player tried to teleport to non existing instance when logging in

+++ replaced ASSERT for mm == 0 in MovementHandler.cpp to Error log and return;

+++ RS will use Reactor_Select and Memory pool for compressing the packets
+++ small fixes..

+++ correct targets count for some Target type..
+++ fixed buybank opcode 

+++ numerous fixes in services
+++ it is now possible to set sleep time for Reactor in constructor, default = 0ms

+++ server will not depend on type of Reactor and sleep times

+++ tried to fix crash on buyback

+++ new PY API: pet.GetPetHost() - returns Owner/host of the pet PyUnit.

+++ new NPC flag to work on
- Start work on save/load gb logs.
+++ RelayServer (ES) is also Asynchronious:
- 1 thread for objects, 2 thread for network, 3 thread for events

+++ fixed guild bank items swapping

+++ fixed sqlpps interfaces deallocation in some cases when flushing SQLs

+++ unified code in many place in Game lib

+++ fixed crash on _UpdateAffect() updater (2 places, thx to Zhenya)
+++ improved item operations

+++ removed old code
+++talents:
Nether Protection
Pyroclasm
EmberStorm

+++ not allow add quest\soulbond item to GB
+++ aux: implemented new mutex like class: ba
rrier(num) to block <num threads and release them when num threads start waiting

+++ implemented guild-bank items add/remove 

+++ fixed inventory bug for bags (nullified slot on player load)

+++ tuned inventory operations between ES - WS

+++ Netcore: removed send buffer be 0, to avoid excessive blocking (better performance)
update gb when edit tab or buy new tab.
+++ some changes in RemoveItemFromInventoryById

+++ may be fixed AP bonus in Forms ( testing it )

+++ ModScale!!
+++ mempool will have additional 5 pools for special linkage to some extensively alloc/dealloc classes between threads to get most asynchronious and avoid excessive interlocking (linked WorldPacket and Buffer data in Netcore)

+++ removed excessive locking in Netcore

+++ improved Buffer class in Netcore
+++ more dynamically allocated classes got linked to memory pool

+++ implemented Guildbak item swapping (inside bank yet)

+++ fixed guild rights management and new for guildbank ops (pls use new SQL provided and convert old rank table into it)

+++ fixed WS crash on ES disconnect 

+++ fixed ES mem corruption on Item having uninit. pointer 

+++ subst. ASSERT in MovementHandler into Error log + player logout if MM is lost
+++ added #ifdef blocks in mutex.h/inl to separate mutex debugging and switched off mutex timeout(deadlock) detection
+++ quick fixed crash in ES
+++ fixed bug with double totem creatures spawning on placement

+++ work on guildbank: guild tab packet, item operations

+++ ES: Player class got: GetItemBySlot/GetContainerBySlot (for Vata :))

+++ mempool will not crash on app closure and will write more correct stats 

+++ string_helper got strncpy safe function, please use only it for char* ops.
+++ small fixes..
+++ fixed crash on Pet deletion by GM command

+++ fixed ES not deleting player on far teleports
+++ implemented our own memory pool usage (based on found free pure C lib)

+++ Python objects are now cached to provide no memory fragmentation now 

+++ fixed mem corruption in WS in Collision section

+++ some errors/warning corrections according GCC

+++ CS is now compiled under Linux

+++ Reactor_Select is now used by Linux version 

+++ project corrections for 7.1, 8.0, 9.0
- correct my check (change NULL to 0)
- Add chack for deposit and withdraw money to gb.
- Change zm limit in VS7.1
+++ fixed MapMgr not having own objects in holder (sorry)
- Moved slots from player to defines.
- Start work on deposit item in bank.
+++ fixed my ugly bug in aux::thread_map in [] operator resulting in object not inserted into map 

+++ sql
++ fixed and finished thread transactions and exec mark !!!

+++ sped up world object interaction by looking up MapMgr local hash_map by guid rather than global on ObjectMgr
+++ fixed creature fly
+++ switched on Log to thread 

+++ more work on sql++
+++ Group class is now thread safe
+++ implemented GuildBank log for money & items (without saving to DB yet)

+++ sqlpp will generate dumps on crash to trace an error
+++ some small guild bank corrections
+++ cleanup in rw_mutex_type
+++ implemented special debugging logics for rw_mutex_type to detect abnormal mutex usage resulting in deadlocks

+++ implemented player micro-relogin for ES when player ports from map to map, which preserves logics of object interaction fully now

+++ fixed sql
++ for using transactions under MT
- Add bools for all rank permission, but need little work on it.
- Add check on Withdraw money from gbank (need test).
+++ quick crash fixes
+++ fixed apply auras on power word shield and e.t.c

+++ fixed AuraModScale

+++ some work on guildbanks
+++ my Id
+++ project corrections

+++ reverted ranks for Guild in Roaster()
+++ aux::Transaction: finished hardcore task to make sqlpp supporting multithreaded environment, along as execmark

+++ enabled transactions for player saves, please enable Execution thread in sql.conf of WS and ES

+++ added ranks addon for GuildBank (Dereka's help info)
+++ aux: added new method to global_ptr<T>::get_ref_count(), returning N references established on pointer

+++ fixed bug with dead sessions stucked in MMgr

+++ corrections to log
- Add bools for guild ranks permission.
+++ fixed func_... logger for MSVC 7.1 compile

+++ working on sqlpp: transactions and ExecMark under MT env.
+++ cleaned up HandleSetDungeonDifficultyOpcode
+++ fixed Player::TeleportToTrigger for instances 

+++ fixed func_log
+++ fixed 7.1 proj.
+++ removed trash from WS

+++ player will get Evading on creature target under water if player is not in water too
+++ fixed aligning for GuildBank 

+++ reverted Reactor_Select to be using FixedArray<> as it originally was
+++ removed trash
+++ fixed arena teams not aligned to 1 byte
+++ use: func_error, func_verbose, func_warning if you want to log specific function and prove its header in log

+++ fixed ES crash on Container's objects put to ObjectHolder
+++ splited assert
+++ corrected 7.1 projects
+++ fixed CMSG_REQUEST_ACCOUNT_DATA
+++ more fixes
+++ fixed crash in ES in FriendList (FriendList class needs cleanup!)

+++ fixed aux::timer for Linux
+++ fixed some compiler warnings

+++ fixed crash WS had before we started Mail & Auct.

+++ fixed Mail operations

+++ fixed ES-WS Item operations
+++ auction is working now

+++ corrected events

+++ corrected CheckName
+++ fixed Player creation in ES:
- now it is created when request by client is sent
- OnLogin() already searches for created object
! this allows to load all objects with player to ES also.
+++ fixed CMSG_ITEM_QUERY_SINGLE
+++ fixed ES-WS macros for events
- fixed compile for VS7.1
+++ fixed crash on ES connection to WS

+++ WS will generate crash-dums on Net thread crashes 

+++ improved sqlpp::structtable
+++ wchar_t support to sqlpp::Query
+++ linux fixes
+++ more Linux fix
+++ fixes to Linux compile
+++ fixes for nix build..
+++ skills of player in ES are taken from update fields now sent by WS
+++ added const methods to sqlpp::StructTable

+++ modified ItemPrototype loading in WS to be using dbs::SItemPrototypeInfo database instead of SQL query 

+++ ES will load StructTables before any global game classes 

+++ tried to correct Makefiles for Linux
+++ uncommented uneeded code in WS (for mail and auctions)

+++ fixed memory corruption on player teleports
+++ fixed compile for WS

+++ aux:: implemented support for int64/uint64 index field size for StructTable class
+++ fixed SItemPrototypeInfo format (removed virtual destructor)
+++ fixed built..
*kos we need add to format item_id as 'x'?
format contains 134 symbols and in db 134. something strange..
+++ completed changes in ES, did not have time to test, also pls correct SItemPrototypeInfo format, it has -1 fields less than DB has. Pls.
+++ fixed compile errors in ES and WS

+++ Mail almost finised but will not work yet, pls wait untill I finish it today
+++ switch to 2.3.2.7741

+++ Cataclysm

+++ update SpellNames
+++ More talents ..

+++ replace numbers by constspellnames ^^
- done fixing mail (have 1 error)
kos pls add GenerateMailID() to objmgr in ES and we done.
+++ more work on Inventory for ES

+++ fixing Mail...
-  fix compile for VS7.1
-  more work on mail (kos dont forgot delete MailHandler.h coz i move all to Mail.h)
+++ new files for Mail class in ES

+++ aux: implemented atomic variable class for atomic and thread safe operations with any variables. It is templated class: aux::threads::atomic_var<TYPE> var; Declared variable behaives like any simple numeric data type.

+++ implemented Inventory handling events in WS, left for ES now
- more mail fix
- mail
+++ code cleanup
+++ fixed exploit...
+++ some changes in social
+++ ItemProto format

+++ small changes in spell system. ( need check Starshards )
fixed compile "common".
Update for VS7.1
little work on mail (complete it tomorrow, sorry want to sleep =))
+++ completed Auction in ES, Mail is left
+++ some classes went to aux (same as it is in starfury)

+++ added sqlpp::StructTable class support to load DB tables in struct in auto-method (also to share them between server)

+++ more on ES
+++ intermediary phase with Auction & mail movement to ES
- WS - RS - LS - CS are compilable now, ES - not ready yet

+++ in process of fixing Auctions within ES
-- moved mail and auction to es (have alot of errors =) sory)DO NOT UPDATE TILL WE FIX ALL ERRORS!!! 
+++ changed mutex type
+++ 2 new events for ES-WS

+++ switched all servers to  Reactor_Select except LS and RS
+++ +15msec for sleet to ES and CS
+++ forgot
+++ some corrections

+++ Reactor: Reactor_Poll will dealloc fd array 

+++ Player will get UpdateFields passed to ES on Login and on every SaveToDB, so that player->GetUInt32Value/GetUInt64Value/GetFloatValue/HasFlag functions will return values in ES for player already
+++ modified mutex protections for RelayProto in WS and ES
+++ completed Reactor_Poll for Windows, it also will work for Windows Vista x32-x64 and Windows Server 2008 family

+++ Reactor_Poll used in RS and LS
+++ aux::global_ptr is now fully thread safe

+++ reactor::Reactor_Poll for Win started to work but returns 34(ERANGE) on recv() on WoW client connection somehow...

+++ switched thread_containers by default to fast spin_lock mutex 
+++ more spells
+++ Reactor: implemented poll() emulation under Win

+++ added mutex locks for Auction and Mail untill they are moved to ES 

+++ started Item class in ES for basic Item Getter functions
+++ include fixes
+++ some corrections to Reactor
+++ Soul Leech
+++ fixed some spells replacing

+++ some spells_id replaced by defines name ( later fully )

+++ some changes in SPELL_AURA_TRASFORM
+++ aux: implemented new class named 'global_ptr' which is working similar to our 'shared_ptr' except that it is counting (and actually building linked list also) all references to raw pointer. It will result in ASSERT in case user tries to delete raw pointer if pointer has any references available.
- This class is thread safe. 
- it will deallocate object by pointer (host) if reference count == 0
- it works with global_ptr_host_linker template class linking to Class we want to create global_ptr with.
- Example: WorldSession class is using this new implementation

+++ corrections according GCC errors/critical warnings

+++ fixe Linux compile for LS
-  Fixed compile in VS7.1
-  add AutoJoinBGVoice() and AutoJoinPartyVoice() (need to find packets for it)
+++ more include fixes

+++ AverageTime is now aux::average_time 

+++ fixed crash on logout 
+++ projects
+++ aux: shared_ptr is now thread safe 

+++ moved WorldSession be shared_ptr now

+++ fixed more includes
+++ fixed includes for LS and CS (removed loginserv unneeded lib and pushed files to koboldls)
+++ fixed Linux compilation, AND, yes Linux version is fully working for ES - WS - RS - LS (CS will make to be compiled tommorow), yeeee :) Reason for SEGFOLT for WS and ES I think was messy includes all over the project.
+++ crash fix
+++ fixed durability lost from spell, ranged, melee

+++ some other fixes..
+++ more fixes for includes
- More work on channels, new opcodes, change zm limit for VS7.1
+++ fixed includes for WS - ES - RS servers
+++ increase hate degradation time 

+++ corrected scripts lib and game lib includes as wisely noticed by kvakvs
+++ some more to rw_recursive_mutex
+++ more correct logs
+++ some corrections in MapTileRegister
+++ fixed compile (sorry)
+++ implemented new conditional_semaphore_ex Win type for more Fair operations (no possibility for deadlocking at all)

+++ changed Writers favourable for world thread in rw_mutex_type
-  work on opcodes.
-  Now player left trade channel if not in city.
-  Correct custom channels to enable voice.
-  Add new guild bank opcode.
(never water elemental have spells in spellbook)
+++ implemented session being reacquired by mapmgr which will be the target for player placement, allowing player placement to be done in corresponding mapmgr, thus more smooth for whole srv

+++ more thread safety

+++ fixed RS deadlock on closing all sessions if conn. to WS is lost
+++ Latency is written by all MMgrs now + World thread
+++ reorganized timings for threads to try to avoid to much locking
by global events
+++ fixed wrong linkage
+++ fixed project dependencies
+++ fixed 7.1 build
-  Fix compile in VS7.1
+++ small corrections to ES
+++ fixed CCompress: ThreadInstance()
+++ more corrections to srv closure
+++ more fixes to deadlocking
+++ aux:: thread containers to use mutex instead of spin locks now

+++ aux:: added timeout ASSERT for rw_mutex_type

+++ WowCrypt got mutex protection 

+++ tried to fix bug with Instance creation with double ID
-  Now we generate pet names (need  add check on male/female in future).
- Add guild bank tab prices.
+++ fixed compile
+++ fixed NameGen loading
+++ fixed crash on player login 

+++ improved thread safety
+++ fixed ressurect..
-  add NameGen.dbc for generate pet names.
+++ fixed Compressor be fully threadsafe if used CCompress::ThreadInstance(), to obtain instance only for calling thread.

+++ removed excessive mutex in Reactor
+++ small fixes..
- Fixed eye of Eye of Kilrogg (FIXME: need remove eye after timer gone, need change speed of eye)
+++ aux:
- fixed read-write mutex (race condition)
- implemented new conditional_semaphore_ex for external mutex intake for special thread classes like rw_mutex_type 
- thread_unique_queue has now container_type typedef avail.
- improved pthread emulation under win

+++ xreactor:
- decreased sleep time to 10ms
- made send queue more asinchronyous and fast as result 

+++ fixed Instance registration for groups 

+++ all maps now are FULLY asynchronious and got own thread routines (introduced built-in event manager and objects holder)

+++ modified game lib to work with asynchronious map model 
+++ fixed Transports being TWICE updated by different MMgr ( Evil bug in 1 bool :)) )

+++ RS is now also asynchroniuos and compresses movemnt packets on the fly in sep. thread providing better RS latency times
-  Remove msg "These items can't be swapped." on change item in ring or trinket slot. (kos pls check it)
+++ fixed mana cost mod

+++ fixed clearcasting

+++ fixed Benedict

+++ fixed Lightening Overload

+++ fixed Improved Healing

+++ fixed Predatory Strikes

+++ fixed wands
+++ aux:
- fixed conditional_semaphore deadlocking by providing portable emulation of pthread's conditional primitives for win platform (SetEvent implementation)
+++ aux: 
- fixed conditional_semaphore
- fixed rw_mutex_type

+++ so far World maps are all in 1 thread (will sep. tommorow)
+++ WS started to work but not optimal (will improve)
+++ more work on items 
*todo process combat ratings.
+++ aux: partial fix for read-write mutex deadlocking

+++ crafted items will have Randmom enchant generated also

+++ improved Instance creation performance 

+++ fixed Instance owner rights check 

+++ possible no dead lock will occur
+++ fixed SMSG_UPDATE_ACCOUNT_DATA (my typing error, specified deflated data size to packet instead of inflated)
+++ Language anticheat

+++ small cleanup
+++ small fixes..

+++ add dbc struct
+++ intermediary commit (WS is not working, pls do not use it till tommorow)
+++ much reorganization in core:
- instances now updated in own thread 
- all player/session updates are done by corresponding mmgrs

- more concurrency added to provide better lag-free performance

+++ fixed stun/root spells not dispelling

+++ improved performance of Spell affects providing Caster's ref_ptr
+++ fixed profession skill be limited by 300 max only
+++ fixed action buttons

+++ uncommented water_swim flags due to fully incorrect water location in map files
+++ fixed Null return by GetBankTab()
+++ fixed profession trainers (sorry, was experimenting with unk field)

+++ fixed ES money functions, now they modify player's money (working as callback by WS)

+++ guildbank is now able to withdraw/deposit money
-  work on deposit and withdraw (kos pls check my comments)
+++ cleaned up trainer list generation code

+++ some cleanup in spell code
+++ improved heroic loot by adding 10-15% range to item loot chance
+++ plz not use suicide for player
+++ implemented account data save/restore/hash allowing to restore account settings for client connected from another PC, also decreases network bandwidth
+++ added >><< methods for Bytebuffer to <<>> Bytebuffer object 

+++ corrected chat (Join), orhpained packet 

+++ fixed loot for Heroic instances

Edited by Time

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

×