- Use Travis build matrix to test build with clang 3.8 and clang 7
- Set the number of threads for the "make" command to 4 (Travis provides only 2 cores, see https://docs.travis-ci.com/user/reference/overview/, so 4 threads should be good to go)
- Use Travis caching (https://docs.travis-ci.com/user/caching/) and ccache to speed up the build process (with full cache now takes about 7-8 minutes); a separate cache is used for clang 3.8 and clang 7
- Added a 43 minute timeout for the "make" command in order to ensure that the cache is saved within Travis (Travis will kill the build process after 50 minutes without saving the cache, see https://docs.travis-ci.com/user/customizing-the-build/). If the "make" command is terminated by the timeout it suffices to restart the Travis build job in order to use the already written cache.
Fix Backbiter following Warp-Huntress Kula in Dalaran. Instead of summoning Backbiter via spell "Summon Backbiter" by Kula it is inserted as regular creature following Kula in close formation. Also fixed some missing texts for the following creature IDs in order to get rid of the errors in the server log:
27047: Invisible Stalker (Floating Only)
32711: Warp-Huntress Kula
29506: Orland Schaeffer
Closes#980Closes#1379
Fix the positioning of the control console on the zeppelin "Cloudkisser". Otherwise it falls to the ground and floats through the air while the zeppelin is moving.
Closes#1394
* Core/Spells : Mage permafrost talent
- Will fix issue with permafrost (Talent ) apply the heal reduction even if dispelled.
Co-Authored-By: talamortis <talamortis@gmail.com>
* Update Spell.cpp
Removed the whole case function as requested in AC comments.
Mage quests 1920 & 1960
The Rift Spawns will immediately attack after using "Cantation of Manifestation" and now correctly say "Rift Spawn is angered and attacks!"
The Rift Spawns will now correctly say "Rift Spawn escapes into the void!" if it takes too long to catch them after being stunned.
The LoS restriction of "Cantation of Manifestation" is removed
- Will fix double quest from creature Captain Hecklebury Smotts
- Will fix incorrect factions of Torek & Splintertree Raider ( They belongs to Horde Faction as Quest NPC's and will be just attackable while quest is finished ) from opossite faction.
- Updated faction for NPC Sarkoth ( Monster )
- Updated pahing for creature Centaur Pariah
- Added gossip menu option for Shaman Trainer
- Updated faction for creature Minor Water Guardian
- Updated flags for creature Sarilus Foulborne
- Added SAI for Creature Sarilus Foulborne
- Sagorne Creststrider now correctly has the text "Teach me the ways of the spirits" instead of a blank gossip option. All his gossip options open the correct corresponding features.
- Sarilus Foulborne summons water elementals on pull, then proceeds to use frostbolt in combat.
Note: Sarilus will always run to the player to be in melee range, even though he casts frostbolt every couple seconds. Maybe he should stay at casting range until OOM?
- Quest: Lazy Peons: Moved from core to SAI
- Lazy Peon will now play work sounds
- Lazy Peon will now display the axe-swing emote
- Lazy Peon will now kneel in front of the pile, and start cutting in front of the tree
- Lazy Peon will now use better positions and orientations for the wood pile and the trees
- Lazy Peon will fall asleep after 80 seconds of working
- Lazy Peon will now activate itself every 120 000 till 150 000 milliseconds
Emit error when there is a SmartAction in the DB that is not yet supported in AzerothCore.
Emit error when there is a SmartAction in the DB that is not supposed to be used in version 3.3.5a.
- Added a missing "s" to the update suffix because it must match exactly the name of the updates/ directory (we have base, custom and updates)
- Also changed var name in config.sh.dist (edit your config.sh if you use it)
- Removed trailing spaces
Add a new spy command for game masters and administrators to receive all conversations of followed players.
How to use:
- Use command .spy follow <characterName> with a GM
- Make that player whisper another player
- You (GM) should receive the message sent
- Use command .spy status. You should get a list with the test subject's name in it.
- Use command .spy unfollow <characterName>
- You should not receive any more messages sent or received by that player
* Core/Commands: Add new spy command
* Importing pending sql
* Fix missing comma in SQL
* Fix travis compile: comment unused parameter
Prevent the Arakkoa Egg (template ID 20214) from following the player
Arakkoa Egg will now cast Arakkoa Egg Debuff (ID 35788) if the player is within 6 yards range
Closes#1209
- ability to reload configuration files without building again the images
- faster images building
- corrected a mistake
- logs are saved to the main host
* Core/Misc Update all locales table structure to simple system. Port from TrinityCore
Co-Authored-By: Winfidonarleyan <dowlandtop@yandex.com>
* Core/Db/Gossip Update structure gossip_menu and gossip_menu_action to actual TrinityCore
* Core/DB Update Broadcast system to actual TC
* Core/Mail: implement Quest Mail Sender
* Core/Quest Split quest template locales
* fix vanity pet distance and angle
* fix vanity pet distance to player
* put size calculation for normal pets into the if-statement for vanity pets
* change pet speed algorithm
* change distance calculation
* another change to the distance calculation; differentiate between player running or flying
* Core/Session: proper client timeout detection
- Properly detect client timeout when logged into a character after a configurable time (default 60s) has passed without the client sending any packets.
- Fixes issues with crashed clients leaving characters in the world for a very long time (default 15 minutes), as well as edge case exploits involving intentionally pausing client execution for some amount of time.
Destroy quest items on quest failure/abandon.
Failing/abandoning a quest should not unconditionally remove required items, non-quest specific items such as crafting reagents should remain in inventory.
Delete all quest bound items on quest reward, failure or abandoning.
Only delete all quest bound items from inventory on turn in if the quest is not repeatable
Fixed Quest Forge Camp Annihilated: The Canons now shoot the camps
Updated SAI Script
Updated Creatures ( Problem with LOS Targeting ) - Moved to Clear positions where can be targeted.
Creature 68741 ( Fel Cannon - Fear Target )
Creature 68742 ( Fel Cannon - Hate Target )
Closes#1077
This will fix the next issues:
- Waves of mobs spawning during Blackhand fight.
- Door conflicts.
- Boss can't be pulled after killing the 3rd wave.
Closes#536
* Core: Achievements warning if GM mode enabled
Added a warning ingame and in console when you're a GM testing achievements (else it was confusing).
Added an extra type check in UpdateAchievementCriteria, ported from TrinityCore.
Lets take quest Taming the beast for example, Once beast was tamed and player was too far away from the creature it would still appear as a pet and cause issues.
Fix "Spell which is reflected doesn't create DR on whom is casting the spell"
Now warrior would not add diminishing returns if he reflect spell (code may be a bit hacky)
Closes issue #650 on github
set correct gossip menu ID for Squibby Overspeck (NPC 12137):
old: 1969 (belongs to Frezza)
new: 3842
set correct gossip menu ID for Nez'raz (NPC 3149):
old: 1971 (belongs to Zapetta)
new: 2441
removed gossip menu options 1969 and 1971 ("Where is the zeppelin now?"), as this functionality is not implemented and the option only existed for Frezza and Zapetta
* .npc set tempfactionid (35) - will changed the selected npc faction but will not save it.
* .npc set originalFaction - will restore the correct faction from the npc faction template in the DB.
closes#706
* Change the read method of the config of the module.Developers can now easily read the config file in cmake.
e.g. AC_ADD_CONFIG_FILE("${CMAKE_CURRENT_LIST_DIR}/conf/my_first_module.conf.dist")
* Update Master.h
* Update cs_reload.cpp
Command: `.reload config` can now reload the config file of all modules #981
+ simple restarter now prevents infinite crash loops
+ client data downloader now uses github releases and fixed downloading path
+ module updating now take care about compatibility version info
+ disabled CONFDIR variable in bash conf file, using BINPATH by default instead
+ Implemented new dashboard menu
+ some fixes for db_assembler
+ new module installation process with version check via json files
+ some fixes to modules installer
+ implemented simple crossplatform worldserver and authserver restarters
+ new compiler script
+ client data downloader (beta)
+ various other fixes
* tools improvement
* added "Source/DetourAssert.cpp" to recastnavigation/Detour/CMakeLists.txt
* increased MMAP and VMAP version numbers
* Will need to re extract MMAPS and VMAPS
Made "target branch" optional since all the PRs are for the master branch by default
Tidied the existing comments to be shorter to read but with more information
Added links for contribution
* Fixed infinite stacks (and eventually crash) of infected wound. (Also fixes the stranglethorn vale zombies' DoT stack issue and all the mobs using that spell)
* Fixed zombie spawn location (3 gates, only 1 used in 10man, all 3 in 25)
* Fix Gluth's "Zombie Chow" distance, now it's blizzlike. Closes#736
* Maexxna portal rotation.
* Rewritten sql to update, ready to be merged.
* Portal's visual effect should be in different phasemask and appear only when maexxna is killed.
* split the update query in two, forgot that visual is in phase2
* i want to kms.. all should be good now
Added a cooldown to amplify damage in phase 3, else it's cast every frame. Used random between 20 and 30 seconds as that's what's set at the start of phase 3.
* Fix NPC 28611 (Scarlet Captain): He now shoots from a distance and says the correct text lines on aggro.
* Changed min distance for shoot
* Changed comment concerning the min distance for shoot
@AyaseCore
* fix: Stuck at "Retrieving character list".
* change 2 to 1.1.
* Use the rochet2 solution.
@Rochet2
* Add more logic from InstanceSaveManager::Update
In `InstanceSaveManager::Update` the `bool warn = event.type < 5;` affects how much time is added to the next reset schedule. This commit takes that into account to the next_reset calculation when skipping resets.
* Simplify code and move it to data loading
People should now be able to queue again, after last boss is killed.
(Closes issue #856)
Commits:
* fix:Dungeon Queue - Not working(#856)
* only the leader can re-queue
* Update LFGHandler.cpp
* Improve the pull request template
My take on making the pull request template more useful
* Improvement - Which OS did you test on?
Added "which OS did you test on"
* azerothcore + eluna done.
* Remove the Eluna single thread limit.
* Read Eluna Settings file.
* submodule change.
* fix(test) Ubuntu - Cant Link Library after Compile
* The ELUNA is disabled by default.
* remove submodule luaEngine.
* some change
* fix a error
* change cmake
* fix: some onplayerchat does not have hooks.
* Eluna: Add BG event Hooks.
* fix:cmake hook AFTER_LOAD_CONF not work.
* Remove the eluna switch.
* Remove some define in the core.
* fix conf file not read in the linux.
* eluna : change bg hook parameter type
* Remove TC log function call
* change bg hook OnBGEnd parameter type.
Note: to enable Eluna, the module is required
Tested it by checking the IDs with a GM account and playing a fresh DK with a normal player account. Changes:
- move delete statements of the original script to the top in order to reuse the deleted IDs (the original script deleted creatures and game objects from the old world)
- use only deleted IDs within the script
- set Death Knight Initiates to correct phase (otherwise they're wandering between the enemies without fighting)
- set correct aura for one of the dead Scarlet Peasants ("Permanent Feign Death" instead of "Devour Humanoid")
- removed additional duplicates of runeforges, anvils and forges (fixes the flickering when pointing with the mouse on it)
* Minion spells
added spells for living and dead side
* spell events and enter combat updated
* finished adding spells to minions
needs testing
* Minions now cast spells correctly.
Bugfixed
* travis?
Support for both OpenSSL 1.0 LTS and OpenSSL 1.1 versions.
Many Linux distributions are still on 1.0 and will stay on LTS for quite
some time.
Port of CMaNGOS commit: cmangos/mangos-wotlk@e1b0048
* DB - Areatrigger - Removes warnings when booting the server
There are 3 triggers that are from the areatrigger.dbc which are useless since the linked maps don't exist.
It's probably a mistake from blizz.
* Wrong database chosen...
For a more educated fix would need to get access to git history for why the hook was moved here.
Or alternatively, try research what would be the correct place for the hook.
it will allow Modules to create their own Hooks inside the
module itself, to customize/extend their functionalities.
An example of its usage will be available in VAS Module:
You'll be able to disable VAS with custom conditions from other modules.
* Fixed warning at server start related to transports
Warning: GetUInt32() on non-(medium)int field. Using type: SHORT.
* Used the recommended way to add SQL updates
+ fixed in combat with summons, you cannot skip them now
+ fixed naxxramas woshipper immunity: they are not immune to charm spells in 25 mode
+ fixed invisible Widow's Embrace spell in possessed npc bar
* Setting all compiler flags in the cache led to circular bloating of
msvc cxx parameters (was visible in console) which caused MSVC to
rebuild the whole solution even on a small CMake change.
It's not neccessary anyway to set the cxx parameters to the cache
to take effect.
* Cleaning the CMake cache is recommended!
- Fixes getHeight collision (Map height is now calculated properly core-side, extraction of Maps, Vmaps is required)
- Fixes invisible walls causing LoS errores and wrong pathing in some zones.
- Mmaps update, padding is used, now to ensure proper binary-identical mmtiles
- Updated Recastnav to work properly with new updates
- Updated Area Storage
- Implement Map out of Bound (players will pop on closest graveyard if out of bounds)
- FleeingMovementGenerator updated, LoS calc to not go out of bounds or in/under textured when
fleeing
- Added command .mmap, port from TC (info about mmaps)
it's a particular case that we've to take care about next time:
a function cannot be created inside a procedure so
we need to move out its definition after pending import
* Calendar/GameEvents: Store + Send holiday data to calendar
Fix by @Gerhood port by Sucofog for AC
* Remove comments
* Fixed an sql error
* Fixed spell casting destination to require ENABLE_LOGS and ENABLE_EXTRA_LOGS to be enabled (#646)
* Fixed spell casting destination to require ENABLE_LOGS and ENABLE_EXTRA_LOGS to be enabled (#601)
* Fixed line spacing
* Fixed file spacing
* Revert "Fixed file spacing"
This reverts commit c32f081fe2.
* Revert "Fixed line spacing"
This reverts commit 5a922bbfe8.
* Revert "Fixed spell casting destination to require ENABLE_LOGS and ENABLE_EXTRA_LOGS to be enabled (#601)"
This reverts commit 0d57b3c273.
* Fixed spell casting destination to require ENABLE_LOGS and ENABLE_EXTRA_LOGS to be enabled
* Core: step 1 - starting to fix core warnings
expecially from headers and some cpp files
Scripts and tools in next steps
* Core: Step 2 - Fixed warnings with clang 3.9+
issue #121
* Core: Step 3 - removed all warnings from core
related to #121
Next step: Scripts and extractor tools
* Scripts: Step 4 - Fixed all warnings inside scripts
issue #121
Next step: enabling -DWITH_WARNINGS and fix
* Implement banned_addons (#647)
* Removed more warnings, mostly related to unused-variable
issue #121
We still have to work on unused-parameter
* Script: Fixed yogg saron Drive Me Crazy achievement
* uncommented releaseModelInstance to fix a warning
* Improved travis compilation
Including pending sql and enabling tools, core-debug, extra-logs and perftools
* Fixed compilation
* Fixed all unused-parameters warnings
issue #121
used clang-tidy to achieve this
* Removed unused variables in WaypointMovementGenerator
* Solved cmake D9025 issue with MSVC
* Fixed some variable/parameters type issues
* Uncommented some utils functions for LFG
* Fixed linux compilation error with linker
This was caused by a GNUC compiler optimization that removes
LFG.obj from binaries since its functions have never been called
by gamelib. So we had to call at least one of them on LFGMgr forcing
compiler to include LFG.cpp in build. I can't find another way.
* Pending sql
* Cleaning unused variables
* Update issue_template.md
* Coverity badge
* Fixed other badges
* Add GMSummonPlayer Config Option (#643)
* Stratholme's Rat Traps (#613)
* now rat traps in stratholme work correctly
* Implemented sql importing for db_assembler script
It includes a backup system that saves your day if you
push the "red button" (importing bases on a production db)
* Bash: Fixed Quit option
* Bash: Allow action non-interactive selection
You can directly run a specific action from command lines
useful for cronjobs for example
+ splitted db_assembler in more files ready to be included
from other bash scripts
* Cmake: Compiling with warnings by default
Forcing all contributors to fix all warnings before push a commit (i hope)
* Fixed gcc warnings
* Build without PCH to catch missing headers
+ changed to Debug build type
* Fixed PCH compilation and gcc warnings fixed
+ removed some useless warning suppressions
* Improved travis compilation
it must give us errors on warnings allowing contributors to fix them
as soon as possible (best before accepting PR)
* Improved db assembler, now can create DBs
* Bash: implemented installer script for server and modules (beta)
+ minor fixes
* Installer: minor fix
* Bash: fixed mysql default conf
* updated doc
* Installer: differentiate linux distro
* Use PLAYER_BYTES_3 instead of gender to avoid displayid problems
- This fix night elfs corpse turning into a cube
* Fix CMake custom script (#658)
* CMake - CMake now detects custom scripts in the Custom directory
* CMake - CMake now detects the custom script headers
* CMake - Added an example in the README on how to make a CMakeLists.txt for a custom script
* Scarlet Monastery - Chapel: Last Boss (#599)
* Core/Misc Created handler for character creation
* [Core/Boss] Reworked final figth Scarlet Monastery - Chapel
* correct the animation when Whitemain cast resurrection
* Fixed max heroic attempts ICC
it must be 50 instead of 25
* Workaround to import sql with zero value in date on mysql 5.7
Maybe we need to fix those fields or find another better way
* Various fixes for installer script and db_assembler
* Db_Assembler: hide mysql password in prompt
* Revert "Cmake: Compiling with warnings by default"
It generates compile errors on windows
Maybe we should separate warning cmake define for each compiler (?)
This reverts commit 8ad3c15d63.
* Fixed warnings when EXTRA_LOGS are off
* Fixed and optimized EXTRA_LOGS code
about 1700 lines of code manually checked
* Bash: Minor fixes for installer
You should be able to run both authserver and worldserver with default
configurations
Also changed *DatabaseInfo to fit information defined in our bash installer
and create sql
* Core/Misc Created handler for character creation
* [Core/Boss] Reworked final figth Scarlet Monastery - Chapel
* correct the animation when Whitemain cast resurrection
* CMake - CMake now detects custom scripts in the Custom directory
* CMake - CMake now detects the custom script headers
* CMake - Added an example in the README on how to make a CMakeLists.txt for a custom script
You can directly run a specific action from command lines
useful for cronjobs for example
+ splitted db_assembler in more files ready to be included
from other bash scripts
This was caused by a GNUC compiler optimization that removes
LFG.obj from binaries since its functions have never been called
by gamelib. So we had to call at least one of them on LFGMgr forcing
compiler to include LFG.cpp in build. I can't find another way.
* Fixed spell casting destination to require ENABLE_LOGS and ENABLE_EXTRA_LOGS to be enabled (#601)
* Fixed line spacing
* Fixed file spacing
* Revert "Fixed file spacing"
This reverts commit c32f081fe2.
* Revert "Fixed line spacing"
This reverts commit 5a922bbfe8.
* Revert "Fixed spell casting destination to require ENABLE_LOGS and ENABLE_EXTRA_LOGS to be enabled (#601)"
This reverts commit 0d57b3c273.
* Fixed spell casting destination to require ENABLE_LOGS and ENABLE_EXTRA_LOGS to be enabled
* Core/Scripts: start fight with hardcode in scripts by sending pet trainers to DB from Core
* fix build(forget about it lol azetorh don't have this commit)
* Create rev_1500226875532818300
Fixed Brewfest Building is Darkmoon Faire Building
* Fixed Brewfest Building is Darkmoon Faire Building
Fixed Brewfest Building is Darkmoon Faire Building
Implemented a check for versioning column to skip already applied updates
In this way the script can combine all updates under a single sql file
that can be imported directly in any case
* Core/Instance: may fix config option Rate.InstanceResetTime and close issue #440#284#188
* Core/Instance: may fix config option Rate.InstanceResetTime and close issue #440#284#198
http://forum.deadmines.org/threads/blink.7/
blink in abyss
blink by path ( rechecking each step )
where player can walk - blink will available there
implemented check on dynamic objects (locked doors and etc)
implemented total path of blink.
Fixes item cooldown from 1 min 30 seconds to 30 seconds, to remedy the
uncompletable quest [Basic Chemistry]. Please remove your items cache in
your World of Warcraft directory to reset the item cooldown.
Squash Commit
[NPC][WotlK] Stormforged Saboteur
Missing their path(s), just walking in random movements.
[NPC][WotLK] Slosh
Wrong movement and waypoints.
[NPC][WOTLK] Hamat
Updated to the correct Aura, NPC will appear as sleeping instead of
standing up.
Acherus Deathcharger and Crimson Deathcharger visuals
NPC][WOTLK] Snorts
Appropirate aura
Added Flag for guard - Deathguard Elite
Deathguard Elite
-- creature is a guard (Will ignore feign death and vanish)
[NPC][WOTLK] Libary Guardian
Will now use the correct spell on Databank and use the correct waypoints
Minor Updates patch SQL (Rushor) squash.
Minor Updates patch SQL (Rushor) squash.
Minor Updates patch SQL (Rushor) squash.
Heldgarr Steelbeard - Unable To Shoot at Target
[Quest][WotlK] The Last of Her Kind FIX
Adding Textevent of Civilian Recruit inside building and updating model
DB/Creature: Bellinger and Bailey
DB/Creature: Snowblind Devotee
DB/Creature: Torseg the Exiled
Janks's missing mine event - DB: Janks's mine event
Initiate Park - Pathing and Emotescript FIX
Initiate Vernon + Initiate Greer - Textevent and Pathing FIX
Apprentice Trotter - Pathing + Emotescript FIX
Librarian Hamilton - Add pathing and Emotescript FIX
Karen I Don't Caribou the Culler - Better Pathing Added and Correct SpellID 46147 FIX
Armorer Orkuruk - Missing Hate Texts FIX
Wind Master To'bor & Warsong Wind Rider Script FIX
Warden Nork Bloodfrenzy & Son - Conversation
Mogg and Pooka added their Storyscript
Revert "Wind Master To'bor & Warsong Wind Rider Script FIX"
This reverts commit d707e0e16d8d8431eb4c0f16d7efa0f6e850552d.
[NPC][Wotlk] Jimmy the Stable Boy - Missing Pathingscript
[NPC][Classic] Misc - Pathing and Emotestateupdates for Hammerfall Guardian, Horde Guard, Peon and Westfall Woodworker
[NPC][Classic] Wretched Ghoul + Zoombie - Attackevent + Pathing
[NPC][WotlK] Ironwool Mammoth
Patrolling Event + Mini Event FIX
[NPC][Classic] Lumberjack - Added Emotes and Pathing
[NPC][Classic] Defias Thug - Emotes + Pathing + Randommovement
[NPC][Classic] Zalduun <Priest Trainer> - Heal + Pathing + Text
[NPC][Classic] Scarlet Deserter Event with Gothik the Harvester
[NPC][Classic] Gothik the Harvester - Implement resurrection Event for Scourge Gryphon and Scarlet Ghoul
[NPC][Classic] Lord Thorval - Link Texts to Movement
[NPC][WotlK] Ore Cart - Questevent for "Fruits of Our Labor"
[NPC][TBC] Mordenai - Add Movement and Attackscript
[NPC][TBC] Chancellor Bloodleaf - Textevent with Corok the Mighty
[NPC][TBC] Painmistress Gabrissa - Pathing and Castscript
[NPC][TBC] Eye of the Citadel - Revengetext On Death of Morkh
[NPC][TBC] Levixus - Missing Announce of Blizzard Crew Member(s)
[NPC][TBC] Experimental Pilot - Conversation with Engineering Crewmember(s)
[NPC][TBC] Consortium Nether Runner - Text and Pathscript
[NPC][TBC] Nurse Judith - Pathing + Emotescript
[NPC][Classic] Eye of Naxxramas - Spawn + Pathing
[NPC][WotlK] Durkot Wolfbrother - Added Pathing and Emoteevent
[Quest][Northrend][Icecrown]"Battle Before The Citadel" - Phasing Issue
[Quest][NorthRend][Icecrown]At The Enemy's Gates - Phasing Issue
[Item] Plans: Ragesteel Helm Should Only Drop From Anger Guards
[Instance] Deadmines - Rework (Formation and Waypoint(s).
[Instance] Caverns of Time: Old Hillsbrad Foothills - Full Rework
Revert "[NPC][Classic] Wretched Ghoul + Zoombie - Attackevent + Pathing"
This reverts commit fa0ddfad99792f92b0bcf8f219eb59ab198bf60f.
[NPC][WOTLK] Argent Cannon
[DUNGEON][WOTLK] Trial of Champions
Fix for speed_run for all of the NCP(S)
Update rev_1485734753369055900.sql
Added two more NPC(S),
Ambrose Boltspark & Lana Stouthammer
Fix quests
1. The Black Knight's Orders
- The griffin will correctly dismount as it reaches the end waypoint.
2. At The Enemy's Gates
- The Argent mounts are now mountable.
- Creatures for this quest has had their health reduced.
closes#303
I've exported the database again starting from
0.x base and applying archived updates again
We strongly suggest to reset your world db with new base
and applying updates again.
To save time, use our db_assembler script
Now devs can create sql for their pull requests that will be
automatically imported and _decorated_ by a protection system
and avoid to multiple import same queries
@@ -8,6 +11,8 @@ AzerothCore is an open source game-server application for World of Warcraft, cur
It is written in C++ and based on MaNGOS, TrinityCore and SunwellCore.
:moneybag: You can support the project by financing the resolution of issues [using Bountysource](https://github.com/azerothcore/azerothcore-wotlk/wiki/Bountysource).
## Why AzerothCore?
Our main goal is to create a playable game server, offering a fully working game experience. In short, we focus on the **user experience (UX)**.
@@ -17,20 +22,41 @@ We also believe in [software modularity](https://en.wikipedia.org/wiki/Modular_p
## Learning project
AzerothCore is a learning project.
If you want to learn how to use C++, SQL, git, etc... you came to the right place! We will gladly to help you: **programming is our passion**.
If you want to learn how to use C++, SQL, git, etc... you came to the right place! We will gladly help you: **programming is our passion**.
If you want to contribute, in [our wiki](https://github.com/azerothcore/azerothcore-wotlk/wiki) you fill find a lot of resources that will guide you. Also you can poke us in [our gitter chat channel](https://gitter.im/azerothcore/azerothcore).
If you want to contribute, in [our wiki](https://github.com/azerothcore/azerothcore-wotlk/wiki) you fill find a lot of resources that will guide you. Also you can poke us in [our discord chat server](https://discord.gg/gkt4y2x).
## Instructions & Support
Installation instructions are available [here](https://github.com/AzerothCore/azerothcore-wotlk/wiki/Installation).
For help requests, it is recommended to ask your question on [StackOverflow](https://stackoverflow.com/questions/tagged/azerothcore) and link it in [our chat](https://discordapp.com/channels/217589275766685707/284406375495368704).
## Docker
Dockerization of AzerothCore is fully supported. More details about Docker and the setup instructions are available [here](https://github.com/azerothcore/azerothcore-wotlk/wiki/Install-with-Docker).
## Authors & Contributors
This project is brought to you thanks to:
- The [AzerothCore developers and contributors](https://github.com/AzerothCore/azerothcore-wotlk/graphs/contributors)
- The SunwellCore developers **xinef** and **pussywizard**
- The [SunwellCore developers xinef and pussywizard](http://www.azerothcore.org/pages/sunwell.pl/)
- All the [TrinityCore developers and contributors](https://github.com/TrinityCore/TrinityCore/blob/3.3.5/THANKS)
- All the [MaNGOS, ScriptDev2 and UDB developers and contributors](https://github.com/cmangos/mangos-wotlk/blob/master/AUTHORS.md)
## License
- The new AzerothCore source components are released under the [GNU AGPL v3](https://github.com/azerothcore/azerothcore-wotlk/blob/master/LICENSE-AGPL3)
- The old sources based on MaNGOS/TrinityCore are released under the [GNU GPL v2](https://github.com/azerothcore/azerothcore-wotlk/blob/master/LICENSE-GPL2)
## Links
- [Website](https://azerothcore.github.io/)
## Sponsors
List of organizations that help the AzerothCore project:
This script allows you to assemble all sql files into one so you can easily import it to your databases (or use the main script to import directly). By default, it creates the merged files in `/env/dist`.
## How to use:
First of all, if you need some custom configuration, you have to copy and rename `/conf/config.sh.dist` to `/conf/config.sh` and configure it. The file is here: https://github.com/azerothcore/azerothcore-wotlk/tree/master/conf
_Read it because there are several options to configure._
`db_assembler.sh` script contains an interactive menu to assemble and import sql files.
Just run it to display the options.
Note: You can even use actions directly by command lines specifying the option.
Ex:
./db_assembler.sh 1
It will merge all sql files without an interactive menu.
echo"Setting mysql_native_password and for $PROMPT_USER ..."
sudo -h "$MYSQL_HOST""$DB_MYSQL_EXEC" -e "UPDATE mysql.user SET authentication_string=PASSWORD('${PROMPT_PASS}'), plugin='mysql_native_password' WHERE User='${PROMPT_USER}'; FLUSH PRIVILEGES;"
fi
fi
# create configured account if not exists
"$DB_MYSQL_EXEC" -h "$MYSQL_HOST" -u "$PROMPT_USER"$options -e "CREATE USER '${MYSQL_USER}'@'${MYSQL_HOST}' IDENTIFIED BY '${MYSQL_PASS}' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0;"
"$DB_MYSQL_EXEC" -h "$MYSQL_HOST" -u "$PROMPT_USER"$options -e "GRANT CREATE ON *.* TO '${MYSQL_USER}'@'${MYSQL_HOST}' WITH GRANT OPTION;"
for db in ${DATABASES[@]}
do
local_uc=${db^^}
local_name="DB_"$_uc"_CONF"
local_confs=${!_name}
local_name="DB_"$_uc"_NAME"
local_dbname=${!_name}
eval$_confs
echo"Grant permissions for ${MYSQL_USER}'@'${MYSQL_HOST} to ${_dbname}"
"$DB_MYSQL_EXEC" -h "$MYSQL_HOST" -u "$PROMPT_USER"$options -e "GRANT ALL PRIVILEGES ON ${_dbname}.* TO '${MYSQL_USER}'@'${MYSQL_HOST}' WITH GRANT OPTION;"
done
else
exit
fi
fi
}
function dbasm_isNotEmpty(){
dbname=$1
conf=$2
dbasm_mysqlExec "$conf""SELECT COUNT(DISTINCT table_name) FROM information_schema.columns WHERE table_schema = '${dbname}'""--skip-column-names"
if(($retval > 0));then
true
else
false
fi
}
function dbasm_dbExists(){
dbname=$1
conf=$2
dbasm_mysqlExec "$conf""SHOW DATABASES LIKE '${dbname}'""--skip-column-names"
read v b < <(inst_getVersionBranch "https://raw.githubusercontent.com/azerothcore/$mod/master/acore-module.json")
if[["$b" !="none"]];then
echo"-> $mod (tested with AC version: $v)"
else
echo"-> $mod (no revision available for AC v$AC_VERSION, it could not work!)"
fi
done
echo"";
echo"";
}
function inst_module_install {
local res
if[ -z "$1"];then
echo"Type the name of the module to install"
read -p "Insert name: " res
else
res="$1"
fi
read v b < <(inst_getVersionBranch "https://raw.githubusercontent.com/azerothcore/$res/master/acore-module.json")
if[["$b" !="none"]];then
Joiner:add_repo "https://github.com/azerothcore/$res""$res""$b"&&echo"Done, please re-run compiling and db assembly. Read instruction on module repository for more information"
else
echo"Cannot install $res module: it doesn't exists or no version compatible with AC v$ACORE_VERSION are available"
fi
echo"";
echo"";
}
function inst_module_update {
local res;
local _tmp;
local branch;
local p;
if[ -z "$1"];then
echo"Type the name of the module to update"
read -p "Insert name: " res
else
res="$1"
fi
_tmp=$PWD
if[ -d "$J_PATH_MODULES/$res/"];then
read v b < <(inst_getVersionBranch "https://raw.githubusercontent.com/azerothcore/$res/master/acore-module.json")
cd"$J_PATH_MODULES/$res/"
# use current branch if something wrong with json
if[["$v"=="none"||"$v"=="not-defined"]];then
b=`git rev-parse --abbrev-ref HEAD`
fi
Joiner:upd_repo "https://github.com/azerothcore/$res""$res""$b"&&echo"Done, please re-run compiling and db assembly"||echo"Cannot update"
('achievement',2,'Syntax: .achievement $subcommand\nType .achievement to see the list of possible subcommands or .help achievement $subcommand to see info on subcommands'),
('achievement add',2,'Syntax: .achievement add $achievement\nAdd an achievement to the targeted player.\n$achievement: can be either achievement id or achievement link'),
('achievement checkall',3,''),
('additem',2,'Syntax: .additem #itemid/[#itemname]/#shift-click-item-link #itemcount\r\n\r\nAdds the specified number of items of id #itemid (or exact (!) name $itemname in brackets, or link created by shift-click at item in inventory or recipe) to your or selected character inventory. If #itemcount is omitted, only one item will be added.\r\n.'),
('additemset',2,'Syntax: .additemset #itemsetid\r\n\r\nAdd items from itemset of id #itemsetid to your or selected character inventory. Will add by one example each item from itemset.'),
('announce',2,'Syntax: .announce $MessageToBroadcast\r\n\r\nSend a global message to all players online in chat log.'),
('appear',1,'Syntax: .appear [$charactername]\r\n\r\nTeleport to the given character. Either specify the character name or click on the character\'sportrait,e.g.whenyouareinagroup.Charactercanbeoffline.'),
('group join',2,'Syntax: .group join $AnyCharacterNameFromGroup [$CharacterName] \r\nAdds to group of player $AnyCharacterNameFromGroup player $CharacterName (or selected).'),
('group leader',2,'Syntax: .group leader [$characterName]\n\nSets the given character as his group\'sleader.'),
('honoraddkill',2,'Syntax:.honoraddkill\r\n\r\nAddthetargetedunitasoneofyourpvpkillstoday(youonlygethonorifit\'s a racial leader or a player)'),
('honor update',2,'Syntax: .honor update\r\n\r\nForce the yesterday\'shonorfieldstobeupdatedwithtoday\'s data, which will get reset for the selected player.'),
('instance',1,'Syntax: .instance $subcommand\nType .instance to see the list of possible subcommands or .help instance $subcommand to see info on subcommands'),
('instance getbossstate',1,'Syntax: .instance getbossstate $bossId [$Name]\r\nGets the current EncounterState for the provided boss id.\r\nIf no character name is provided, the current map will be used as target.'),
('instance listbinds',1,'Syntax: .instance listbinds\r\n Lists the binds of the selected player.'),
('instance savedata',3,'Syntax: .instance savedata\r\n Save the InstanceData for the current player\'smaptotheDB.'),
('itemmove',2,'Syntax: .itemmove #sourceslotid #destinationslotid\r\n\r\nMove an item from slots #sourceslotid to #destinationslotid in your inventory\r\n\r\nNot yet implemented'),
('kick',2,'Syntax: .kick [$charactername] [$reason]\r\n\r\nKick the given character name from the world with or without reason. If no character name is provided then the selected player (except for yourself) will be kicked. If no reason is provided, default is \"No Reason\".'),
('learn',2,'Syntax: .learn #spell [all]\r\n\r\nSelected character learn a spell of id #spell. If \'all\' provided then all ranks learned.'),
('learn all',2,''),
('learn all crafts',2,'Syntax: .learn crafts\r\n\r\nLearn all professions and recipes.'),
('learn all default',2,'Syntax: .learn all default [$playername]\r\n\r\nLearn for selected/$playername player all default spells for his race/class and spells rewarded by completed quests.'),
('learn all gm',2,'Syntax: .learn all gm\r\n\r\nLearn all default spells for Game Masters.'),
('learn all lang',2,'Syntax: .learn all lang\r\n\r\nLearn all languages'),
('learn all my',2,''),
('learn all my class',2,'Syntax: .learn all my class\r\n\r\nLearn all spells and talents available for his class.'),
('learn all my pettalents',2,'Syntax: .learn all my pettalents\r\n\r\nLearn all talents for your pet available for his creature type (only for hunter pets).'),
('learn all my spells',2,'Syntax: .learn all my spells\r\n\r\nLearn all spells (except talents and spells with first rank learned as talent) available for his class.'),
('learn all my talents',2,'Syntax: .learn all my talents\r\n\r\nLearn all talents (and spells with first rank learned as talent) available for his class.'),
('learn all recipes',2,'Syntax: .learn all recipes [$profession]\r\rLearns all recipes of specified profession and sets skill level to max.\rExample: .learn all recipes enchanting'),
('levelup',2,'Syntax: .levelup [$playername] [#numberoflevels]\r\n\r\nIncrease/decrease the level of character with $playername (or the selected if not name provided) by #numberoflevels Or +1 if no #numberoflevels provided). If #numberoflevels is omitted, the level will be increase by 1. If #numberoflevels is 0, the same level will be restarted. If no character is selected and name not provided, increase your level. Command can be used for offline character. All stats and dependent values recalculated. At level decrease talents can be reset if need. Also at level decrease equipped items with greater level requirement can be lost.'),
('lfg',1,''),
('lfg clean',3,'Syntax: .flg clean\n Cleans current queue, only for debugging purposes.'),
('lfg group',1,'Syntax: .lfg group\n Shows information about all players in the group (state, roles, comment, dungeons selected).'),
('lfg options',2,'Syntax: .lfg options [new value]\n Shows current lfg options. New value is set if extra param is present.'),
('lfg player',1,'Syntax: .lfg player\n Shows information about player (state, roles, comment, dungeons selected).'),
('lfg queue',1,'Syntax: .lfg queue\n Shows info about current lfg queues.'),
('linkgrave',3,'Syntax: .linkgrave #graveyard_id [alliance|horde]\r\n\r\nLink current zone to graveyard for any (or alliance/horde faction ghosts). This let character ghost from zone teleport to graveyard after die if graveyard is nearest from linked to zone and accept ghost of this faction. Add only single graveyard at another map and only if no graveyards linked (or planned linked at same map).'),
('list',1,'Syntax: .list $subcommand\nType .list to see the list of possible subcommands or .help list $subcommand to see info on subcommands'),
('list auras',1,'Syntax: .list auras\nList auras (passive and active) of selected creature or player. If no creature or player is selected, list your own auras.'),
('list creature',1,'Syntax: .list creature #creature_id [#max_count]\r\n\r\nOutput creatures with creature id #creature_id found in world. Output creature guids and coordinates sorted by distance from character. Will be output maximum #max_count creatures. If #max_count not provided use 10 as default value.'),
('list item',1,'Syntax: .list item #item_id [#max_count]\r\n\r\nOutput items with item id #item_id found in all character inventories, mails, auctions, and guild banks. Output item guids, item owner guid, owner account and owner name (guild name and guid in case guild bank). Will be output maximum #max_count items. If #max_count not provided use 10 as default value.'),
('list object',1,'Syntax: .list object #gameobject_id [#max_count]\r\n\r\nOutput gameobjects with gameobject id #gameobject_id found in world. Output gameobject guids and coordinates sorted by distance from character. Will be output maximum #max_count gameobject. If #max_count not provided use 10 as default value.'),
('lookup',1,'Syntax: .lookup $subcommand\nType .lookup to see the list of possible subcommands or .help lookup $subcommand to see info on subcommands'),
('lookup area',1,'Syntax: .lookup area $namepart\r\n\r\nLooks up an area by $namepart, and returns all matches with their area ID\'s.'),
('lookup player account',2,'Syntax: .lookup player account $account ($limit) \r\n\r\n Searchs players, which account username is $account with optional parametr $limit of results.'),
('lookup player email',2,'Syntax: .lookup player email $email ($limit) \r\n\r\n Searchs players, which account email is $email with optional parametr $limit of results.'),
('lookup player ip',2,'Syntax: .lookup player ip $ip ($limit) \r\n\r\n Searchs players, which account ast_ip is $ip with optional parametr $limit of results.'),
('lookup quest',1,'Syntax: .lookup quest $namepart\r\n\r\nLooks up a quest by $namepart, and returns all matches with their quest ID\'s.'),
('modifyspeed',2,'Syntax:.modifyspeed$speedtype#rate\r\n\r\nModifytherunningspeedoftheselectedplayerto\"normal base run speed\"=1.Ifnoplayerisselected,modifyyourspeed.\r\n\r\n$speedtypesmaybefly,all,walk,backwalk,orswim.\r\n\r\n#ratemayrangefrom0.1to50.'),
('modifyspeedall',2,'Syntax:.modifyaspeed#rate\r\n\r\nModifyallspeeds-run,swim,runback,swimback-oftheselectedplayerto\"normalbase speed for this move type\"*rate.Ifnoplayerisselected,modifyyourspeed.\r\n\r\n#ratemayrangefrom0.1to50.'),
('modifyspeedbackwalk',2,'Syntax:.modifyspeedbackwalk#rate\r\n\r\nModifythespeedoftheselectedplayerwhilerunningbackwardsto\"normal walk back speed\"*rate.Ifnoplayerisselected,modifyyourspeed.\r\n\r\n#ratemayrangefrom0.1to50.'),
('modifyspeedwalk',2,'Syntax:.modifyspeedbwalk#rate\r\n\r\nModifythespeedoftheselectedplayerwhilerunningto\"normal walk speed\"*rate.Ifnoplayerisselected,modifyyourspeed.\r\n\r\n#ratemayrangefrom0.1to50.'),
('modifytalentpoints',2,'Syntax:.modifytalentpoints#amount\r\n\r\nSetfreetalentpointsforselectedcharacterorcharacter\'s pet. It will be reset to default expected at next levelup/login/quest reward.'),
('morph',1,'Syntax: .morph #displayid\r\n\r\nChange your current model id to #displayid.'),
('movegens',3,'Syntax: .movegens\r\n Show movement generators stack for selected creature or player.'),
('mute',2,'Syntax: .mute [$playerName] $timeInMinutes [$reason]\r\n\r\nDisible chat messaging for any character from account of character $playerName (or currently selected) at $timeInMinutes minutes. Player can be offline.'),
('nameannounce',2,'Syntax: .nameannounce $announcement.\nSend an announcement to all online players, displaying the name of the sender.'),
('neargrave',2,'Syntax: .neargrave [alliance|horde]\r\n\r\nFind nearest graveyard linked to zone (or only nearest from accepts alliance or horde faction ghosts).'),
('notify',2,'Syntax: .notify $MessageToBroadcast\r\n\r\nSend a global message to all players online in screen.'),
('npc',2,'Syntax: .npc $subcommand\nType .npc to see the list of possible subcommands or .help npc $subcommand to see info on subcommands'),
('npc add',3,'Syntax: .npc add #creatureid\r\n\r\nSpawn a creature by the given template id of #creatureid.'),
('npc add formation',3,'Syntax: .npc add formation $leader\nAdd selected creature to a leader\'sformation.'),
('questadd',2,'Syntax:.questadd#quest_id\r\n\r\nAddtocharacterquestlogquest#quest_id.Queststartedfromitemcan\'t be added by this command but correct .additem call provided in command output.'),
('quest complete',2,'Syntax: .quest complete #questid\r\nMark all quest objectives as completed for target character active quest. After this target character can go and get quest reward.'),
('quest remove',2,'Syntax: .quest remove #quest_id\r\n\r\nSet quest #quest_id state to not completed and not active (and remove from active quest list) for selected player.'),
('quest reward',2,'Syntax: .quest reward #questId\n\nGrants quest reward to selected player and removes quest from his log (quest must be in completed state).'),
('recall',2,'Syntax: .recall [$playername]\r\n\r\nTeleport $playername or selected player to the place where he has been before last use of a teleportation command. If no $playername is entered and no player is selected, it will teleport you.'),
('reload',3,'Syntax: .reload $subcommand\nType .reload to see the list of possible subcommands or .help reload $subcommand to see info on subcommands'),
('reload all',3,'Syntax: .reload all\r\n\r\nReload all tables with reload support added and that can be _safe_ reloaded.'),
('reload all achievement',3,'Syntax: .reload all achievement\r\n\r\nReload achievement_reward, achievement_criteria_data tables.'),
('reload all area',3,'Syntax: .reload all area\r\n\r\nReload areatrigger_teleport, areatrigger_tavern, game_graveyard_zone tables.'),
('reload all gossips',3,'Syntax: .reload all gossips\nReload gossip_menu, gossip_menu_option, gossip_scripts, points_of_interest tables.'),
('reload all item',3,'Syntax: .reload all item\nReload page_text, item_enchantment_table tables.'),
('reload all locales',3,'Syntax: .reload all locales\r\n\r\nReload all `locales_*` tables with reload support added and that can be _safe_ reloaded.'),
('reload all loot',3,'Syntax: .reload all loot\r\n\r\nReload all `*_loot_template` tables. This can be slow operation with lags for server run.'),
('reload all npc',3,'Syntax: .reload all npc\nReload npc_option, npc_trainer, npc vendor, points of interest tables.'),
('reload all quest',3,'Syntax: .reload all quest\r\n\r\nReload all quest related tables if reload support added for this table and this table can be _safe_ reloaded.'),
('reload all scripts',3,'Syntax: .reload all scripts\nReload gameobject_scripts, event_scripts, quest_end_scripts, quest_start_scripts, spell_scripts, db_script_string, waypoint_scripts tables.'),
('reload all spell',3,'Syntax: .reload all spell\r\n\r\nReload all `spell_*` tables with reload support added and that can be _safe_ reloaded.'),
('reload config',3,'Syntax: .reload config\r\n\r\nReload config settings (by default stored in trinityd.conf). Not all settings can be change at reload: some new setting values will be ignored until restart, some values will applied with delay or only to new objects/maps, some values will explicitly rejected to change at reload.'),
('reset',3,'Syntax: .reset $subcommand\nType .reset to see the list of possible subcommands or .help reset $subcommand to see info on subcommands'),
('reset achievements',4,'Syntax: .reset achievements [$playername]\r\n\r\nReset achievements data for selected or named (online or offline) character. Achievements for persistance progress data like completed quests/etc re-filled at reset. Achievements for events like kills/casts/etc will lost.'),
('reset all',4,'Syntax: .reset all spells\r\n\r\nSyntax: .reset all talents\r\n\r\nRequest reset spells or talents (including talents for all character\'spetsifany)atnextlogineachexistedcharacter.'),
('resettalents',3,'Syntax:.resettalents[Playername]\r\nRemovesalltalentsofthetargetedplayerorpetornamedplayer.Playernamecanbenameofofflinecharacter.Withplayertalentsalsowillberesettalentsforallcharacter\'s pets if any.'),
('respawn',2,'Syntax: .respawn\r\n\r\nRespawn all nearest creatures and GO without waiting respawn time expiration.'),
('revive',2,'Syntax: .revive\r\n\r\nRevive the selected player. If no player is selected, it will revive you.'),
('save',0,'Syntax: .save\r\n\r\nSaves your character.'),
('saveall',2,'Syntax: .saveall\r\n\r\nSave all characters in game.'),
('send items',2,'Syntax: .send items #playername \"#subject\" \"#text\" itemid1[:count1] itemid2[:count2] ... itemidN[:countN]\r\n\r\nSend a mail to a player. Subject and mail text must be in \"\". If for itemid not provided related count values then expected 1, if count > max items in stack then items will be send in required amount stacks. All stacks amount in mail limited to 12.'),
('send mail',2,'Syntax: .send mail #playername \"#subject\" \"#text\"\r\n\r\nSend a mail to a player. Subject and mail text must be in \"\".'),
('send message',3,'Syntax: .send message $playername $message\r\n\r\nSend screen message to player from ADMINISTRATOR.'),
('send money',2,'Syntax: .send money #playername \"#subject\" \"#text\" #money\r\n\r\nSend mail with money to a player. Subject and mail text must be in \"\".'),
('server',3,'Syntax: .server $subcommand\nType .server to see the list of possible subcommands or .help server $subcommand to see info on subcommands'),
('server corpses',2,'Syntax: .server corpses\r\n\r\nTriggering corpses expire check in world.'),
('server idlerestart',4,'Syntax: .server idlerestart #delay\r\n\r\nRestart the server after #delay seconds if no active connections are present (no players). Use #exist_code or 2 as program exist code.'),
('server idlerestart cancel',3,'Syntax: .server idlerestart cancel\r\n\r\nCancel the restart/shutdown timer if any.'),
('server idleshutdown',4,'Syntax: .server idleshutdown #delay [#exist_code]\r\n\r\nShut the server down after #delay seconds if no active connections are present (no players). Use #exist_code or 0 as program exist code.'),
('server idleshutdown cancel',3,'Syntax: .server idleshutdown cancel\r\n\r\nCancel the restart/shutdown timer if any.'),
('server info',0,'Syntax: .server info\r\n\r\nDisplay server version and the number of connected players.'),
('server motd',0,'Syntax: .server motd\r\n\r\nShow server Message of the day.'),
('server restart',3,'Syntax: .server restart #delay\r\n\r\nRestart the server after #delay seconds. Use #exist_code or 2 as program exist code.'),
('server restart cancel',3,'Syntax: .server restart cancel\r\n\r\nCancel the restart/shutdown timer if any.'),
('server set closed',4,'Syntax: server set closed on/off\r\n\r\nSets whether the world accepts new client connectsions.'),
('server set loglevel',4,'Syntax: .server set loglevel $facility $name $loglevel. $facility can take the values: appender (a) or logger (l). $loglevel can take the values: disabled (0), trace (1), debug (2), info (3), warn (4), error (5) or fatal (6)'),
('server set motd',3,'Syntax: .server set motd $MOTD\r\n\r\nSet server Message of the day.'),
('server shutdown',3,'Syntax: .server shutdown #delay [#exit_code]\r\n\r\nShut the server down after #delay seconds. Use #exit_code or 0 as program exit code.'),
('server shutdown cancel',3,'Syntax: .server shutdown cancel\r\n\r\nCancel the restart/shutdown timer if any.'),
('server togglequerylog',4,''),
('setskill',2,'Syntax: .setskill #skill #level [#max]\r\n\r\nSet a skill of id #skill with a current skill value of #level and a maximum value of #max (or equal current maximum if not provide) for the selected character. If no character is selected, you learn the skill.'),
('showarea',2,'Syntax: .showarea #areaid\r\n\r\nReveal the area of #areaid to the selected character. If no character is selected, reveal this area to you.'),
('skirmish',3,''),
('spect',0,''),
('spect leave',0,''),
('spect reset',0,''),
('spect spectate',0,''),
('spect version',0,''),
('spect watch',0,''),
('summon',2,'Syntax: .summon [$charactername]\r\n\r\nTeleport the given character to you. Character can be offline.'),
('tele',1,'Syntax: .tele #location\r\n\r\nTeleport player to a given location.'),
('tele add',3,'Syntax: .tele add $name\r\n\r\nAdd current your position to .tele command target locations list with name $name.'),
('tele del',3,'Syntax: .tele del $name\r\n\r\nRemove location with name $name for .tele command locations list.'),
('tele group',2,'Syntax: .tele group#location\r\n\r\nTeleport a selected player and his group members to a given location.'),
('tele name',2,'Syntax: .tele name [#playername] #location\n\nTeleport the given character to a given location. Character can be offline.\n\nTo teleport to homebind, set #location to \"$home\" (without quotes).'),
('ticket',2,'Syntax: .ticket $subcommand\nType .ticket to see the list of possible subcommands or .help ticket $subcommand to see info on subcommands'),
('ticket assign',2,'Usage: .ticket assign $ticketid $gmname.\r\nAssigns the specified ticket to the specified Game Master.'),
('ticket close',2,'Usage: .ticket close $ticketid.\r\nCloses the specified ticket. Does not delete permanently.'),
('ticket closedlist',2,'Displays a list of closed GM tickets.'),
('ticket comment',2,'Usage: .ticket comment $ticketid $comment.\r\nAllows the adding or modifying of a comment to the specified ticket.'),
('ticket delete',3,'Usage: .ticket delete $ticketid.\r\nDeletes the specified ticket permanently. Ticket must be closed first.'),
('ticket list',2,'Displays a list of open GM tickets.'),
('ticket onlinelist',2,'Displays a list of open GM tickets whose owner is online.'),
('ticket reset',4,'Syntax: .ticket reset\nRemoves all closed tickets and resets the counter, if no pending open tickets are existing.'),
('ticket unassign',2,'Usage: .ticket unassign $ticketid.\r\nUnassigns the specified ticket from the current assigned Game Master.'),
('ticket viewid',2,'Usage: .ticket viewid $ticketid.\r\nReturns details about specified ticket. Ticket must be open and not deleted.'),
('ticket viewname',2,'Usage: .ticket viewname $creatorname. \r\nReturns details about specified ticket. Ticket must be open and not deleted.'),
('titles add',2,'Syntax: .titles add #title\r\nAdd title #title (id or shift-link) to known titles list for selected player.'),
('titles current',2,'Syntax: .titles current #title\r\nSet title #title (id or shift-link) as current selected titl for selected player. If title not in known title list for player then it will be added to list.'),
('titles remove',2,'Syntax: .titles remove #title\r\nRemove title #title (id or shift-link) from known titles list for selected player.'),
('titles set mask',2,'Syntax: .titles set mask #mask\r\n\r\nAllows user to use all titles from #mask.\r\n\r\n #mask=0 disables the title-choose-field'),
('unaura',2,'Syntax: .unaura #spellid\r\n\r\nRemove aura due to spell #spellid from the selected Unit.'),
('unban',2,'Syntax: .unban $subcommand\nType .unban to see the list of possible subcommands or .help unban $subcommand to see info on subcommands'),
('unban account',2,'Syntax: .unban account $Name\r\nUnban accounts for account name pattern.'),
('unban character',2,'Syntax: .unban character $Name\r\nUnban accounts for character name pattern.'),
('unban ip',2,'Syntax : .unban ip $Ip\r\nUnban accounts for IP pattern.'),
('unban playeraccount',4,''),
('unbindsight',3,'Syntax: .unbindsight\r\n\r\nRemoves bound vision. Cannot be used while currently possessing a target.'),
('unfreeze',2,'Syntax: .unfreeze (#player)\r\n\"Unfreezes\" #player and enables his chat again. When using this without #name it will unfreeze your target.'),
('unlearn',2,'Syntax: .unlearn #spell [all]\r\n\r\nUnlearn for selected player a spell #spell. If \'all\' provided then all ranks unlearned.'),
('unmute',2,'Syntax: .unmute [$playerName]\r\n\r\nRestore chat messaging for any character from account of character $playerName (or selected). Character can be ofline.'),
('unpossess',2,'Syntax: .unpossess\r\n\r\nIf you are possessed, unpossesses yourself; otherwise unpossesses current possessed target.'),
('unstuck',2,'Syntax: .unstuck $playername [inn/graveyard/startzone]\n\nTeleports specified player to specified location. Default location is player\'scurrenthearthlocation.'),
('accountsetgmlevel',4,'Syntax:.accountsetgmlevel[$account]#level[#realmid]\r\n\r\nSetthesecuritylevelfortargetedplayer(can\'t be used at self) or for account $name to a level of #level on the realm #realmID.\r\n\r\n#level may range from 0 to 3.\r\n\r\n#reamID may be -1 for all realms.'),
('account set password',4,'Syntax: .account set password $account $password $password\r\n\r\nSet password for account.'),
('account set',2,'Syntax: .account set $subcommand\nType .account set to see the list of possible subcommands or .help account set $subcommand to see info on subcommands'),
('account',0,'Syntax: .account\r\n\r\nDisplay the access level of your account and the email adress if you possess the necessary permissions.'),
('gm ingame',5,'Syntax: .gm ingame\r\n\r\nDisplay a list of available in game Game Masters.'),
('npc evade',2,'Syntax: .npc evade [reason] [force]\nMakes the targeted NPC enter evade mode.\nDefaults to specifying EVADE_REASON_OTHER, override this by providing the reason string (ex.: .npc evade EVADE_REASON_BOUNDARY).\nSpecify \'force\' to clear any pre-existing evade state before evading - this may cause weirdness, use at your own risk.'),
('account lock',0,'Syntax: .account lock [on|off]\n\n Allow login from account only from current used IP or remove this requirement.'),
('character',2,'Syntax: character $subcommand\n Type .character to see a list of possible subcommands\n or .help character $subcommand to see info on the subcommand.'),
('debug anim',5,'TODO'),
('debug entervehicle',3,'Syntax: '),
('debug getitemstate',3,'Syntax: '),
('debug getitemvalue',3,'Syntax: '),
('debug getvalue',3,'Syntax: '),
('debug hostil',1,'Syntax: '),
('debug itemexpire',3,'Syntax: '),
('debug lootrecipient',3,'Syntax: '),
('debug los',3,'Syntax: '),
('debug play',1,'Syntax: '),
('debug send chatmessage',3,'Syntax: '),
('debug setitemvalue',3,'Syntax: '),
('debug threat',3,'Syntax: '),
('debug uws',3,'Syntax: '),
('gobject set',3,'Syntax: '),
('gobject set state',3,'Syntax: '),
('send',2,'Syntax: send $subcommand\n Type .send to see a list of possible subcommands\n or .help send $subcommand to see info on the subcommand.'),
('npc set',3,'Syntax: '),
('npc near',2,'Syntax: '),
('npc tame',2,'Syntax: '),
('reload npc_spellclick_spells',3,'Syntax: '),
('ticket complete',2,'Syntax: '),
('ticket escalate',2,'Syntax: '),
('ticket escalatedlist',2,'Syntax: '),
('ticket response',2,'Syntax: '),
('ticket response append',2,'Syntax: '),
('ticket response appendln',2,'Syntax: '),
('ticket togglesystem',3,'Syntax: '),
('titles',2,'Syntax: '),
('titles set',2,'Syntax: '),
('wp',3,'Syntax: wp $subcommand\n Type .wp to see a list of possible subcommands\n or .help wp $subcommand to see info on the subcommand.'),
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.