Commit Graph

1354 Commits

Author SHA1 Message Date
Shauren
b564c10b13 Core/Players: Implemented serverside validation of reserved/profane names
Closes #15357

New library dependency: Boost.Regex
2015-08-30 00:17:08 +02:00
Shauren
7c75160f59 Core/DBLayer: Added compile time validation for prepared statement indexes passed to DatabaseWorkerPool::GetPreparedStatement turning mistakes like the one fixed in 0327927fa6 into compiler errors. 2015-08-27 00:54:49 +02:00
StormBytePP
ba2e9fbe95 Core/BuildSystem: Merged crypto into common, cleaned include directory lists (to mimic 3.x buildsystem) 2015-08-24 03:35:19 +02:00
StormBytePP
1d2aafd39b Core/Build: Merge common library and move database out of shared 2015-08-21 17:52:42 +02:00
Shauren
7ef89fe142 Core/Logging: Fixed _maxFileSize being left uninitialized 2015-08-20 17:26:04 +02:00
Shauren
55a75db16b Build fixes 2015-08-19 17:16:33 +02:00
DDuarte
f979b28402 Build fix 2015-08-16 22:51:08 +01:00
jackpoz
4617d65131 Merge pull request #15297 from StormBytePP/3.3.5_rename_Revision.h
Core/Build: Renamed Revision.h to GitRevision.h to avoid compile failure when old revision.h file is present
(cherry picked from commit 360cc93357)

Conflicts:
	src/server/authserver/Main.cpp
	src/server/database/Updater/DBUpdater.cpp
	src/server/game/Entities/Player/Player.cpp
	src/server/game/World/World.cpp
	src/server/shared/PrecompiledHeaders/sharedPCH.h
	src/server/worldserver/Main.cpp
2015-08-16 22:45:18 +01:00
StormBytePP
6a9fc63e41 Core/Build: Removed obsolete SystemConfig.h and made genrev be part of shared library, which allows cache hits to happen more likely
(cherry picked from commit 94f69fb1bc)
2015-08-16 17:50:40 +02:00
DDuarte
b9106ee000 Add a missing include of d5cf594bfe
(cherry picked from commit 90c9290761)
2015-08-16 01:10:01 +01:00
DDuarte
5aaf44fc66 Fix build warnings addded in d5cf594bfe 2015-08-16 00:45:07 +01:00
Shauren
d5cf594bfe Core/Logging: Refactored appender creation to allow using logging without mysql dependency in tools (future task) 2015-08-16 00:12:18 +02:00
Shauren
57624e0d53 Core/DataStores: Updated Mount.db2 structure
Closes #15113
2015-08-13 00:38:36 +02:00
Shauren
81abfe93bb Core/Void Storage: Implemented saving item upgrade and bonuses for items deposited in void storage 2015-08-12 23:05:36 +02:00
Shauren
590c6e399d Core/Networking: Fixed possible crashes happening if async query retrieving account data takes too long
Closes #14944
2015-08-09 15:30:06 +02:00
Vincent-Michael
d8b36dfc17 Core/PacketIO: Added and enabled CMSG_SET_LOOT_SPECIALIZATION opcode 2015-08-08 18:10:02 +02:00
Golrag
83c2d36179 Core/PacketIO: CalendarPackets:
CMSG_CALENDAR_GET
CMSG_CALENDAR_GET_EVENT
CMSG_CALENDAR_GUILD_FILTER
CMSG_CALENDAR_ADD_EVENT
CMSG_CALENDAR_UPDATE_EVENT
CMSG_CALENDAR_REMOVE_EVENT
CMSG_CALENDAR_COPY_EVENT
CMSG_CALENDAR_GET_NUM_PENDING
CMSG_CALENDAR_EVENT_SIGN_UP
CMSG_CALENDAR_REMOVE_INVITE
CMSG_CALENDAR_EVENT_STATUS
CMSG_SET_SAVED_INSTANCE_EXTEND
CMSG_CALENDAR_EVENT_MODERATOR_STATUS

SMSG_CALENDAR_EVENT_INVITE
SMSG_CALENDAR_SEND_CALENDAR
SMSG_CALENDAR_SEND_EVENT
SMSG_CALENDAR_EVENT_INVITE_ALERT
SMSG_CALENDAR_EVENT_INVITE_STATUS
SMSG_CALENDAR_EVENT_INVITE_REMOVED
SMSG_CALENDAR_EVENT_INVITE_MODERATOR_STATUS
SMSG_CALENDAR_EVENT_INVITE_REMOVED_ALERT
SMSG_CALENDAR_CLEAR_PENDING_ACTION
SMSG_CALENDAR_EVENT_UPDATED_ALERT
SMSG_CALENDAR_EVENT_REMOVED_ALERT
SMSG_CALENDAR_SEND_NUM_PENDING
SMSG_CALENDAR_COMMAND_RESULT
SMSG_CALENDAR_RAID_LOCKOUT_UPDATED
SMSG_CALENDAR_EVENT_INITIAL_INVITES
SMSG_CALENDAR_EVENT_INVITE_STATUS_ALERT // NYI
SMSG_CALENDAR_EVENT_INVITE_NOTES_ALERT // NYI
SMSG_CALENDAR_EVENT_INVITE_NOTES // NYI
2015-07-28 12:57:56 +02:00
Shauren
21df17fd47 Core/Misc: Removed ReadAsPacked/WriteAsPacked methods from ObjectGuid, they are not needed anymore as guids are always written packed 2015-07-25 10:38:45 +02:00
Vincent-Michael
df1f4969d8 Fix non pch build for Visual Studio 2015 compiler 2015-07-23 18:44:54 +02:00
DDuarte
7d9843c380 Core/Misc: Add a few consts to methods 2015-07-22 23:24:56 +01:00
Gacko
49a6f7b7bd Fix non pch build. 2015-07-22 20:35:59 +02:00
Naios
e4e55a3dcb Core/Utilities: Add std::chrono::duration overloads to EventMap.
* makes it possible to write:
```c++
events.ScheduleEvent(1, Seconds(10));
// ... or ...
events.ScheduleEvent(2, Minutes(1) + Seconds(20));
// ... or with C++14 support:
events.ScheduleEvent(2, 45s);
```
2015-07-22 01:56:12 +02:00
Naios
ca16dc8c1b Core/Database: Enable perfect forwarding for database format calls. 2015-07-22 01:56:06 +02:00
Naios
026ceb85b9 Core/Logging: Enable perfect forwarding for logging format and args.
* Handle timestamp parsing though cppformat.
* Change a wrong forward -> move
2015-07-22 00:32:28 +02:00
Naios
11bfead40b Core/Utilities: Move EventMap into its own source file.
* Move implementation details to .cpp.
2015-07-21 21:25:02 +02:00
Naios
11dfd9e7d4 Core/Utilities: Forward parameters of StringFormat correctly to fmt::sprintf. 2015-07-21 20:49:32 +02:00
Naios
6bf10c2b83 Core/Utilities: Remove global using of std::chrono namespace.
* never use "using namespace" in header files!
2015-07-21 20:42:07 +02:00
Naios
6e4a1b3e1e Core/Utilities: Seperate std::chrono::duration typedefs into its own file.
* add std::chrono_literals using decl. comment for future usage.
2015-07-21 20:25:33 +02:00
Shauren
a22e4e121a Core/Misc: Fixing warnings detected by Visual Studio 2015 compiler 2015-07-21 00:33:36 +02:00
Shauren
08316552b5 Core/Threading: Clarified comment on ProducerConsumerQueue::WaitAndPop 2015-07-15 16:51:12 +02:00
Shauren
228b932925 Core/Players: Fixed power slot ordering 2015-07-12 00:41:56 +02:00
Shauren
da3247d5bb Core/Players: Fixed glyph slots 2015-07-11 00:11:16 +02:00
Carbenium
c7d49ab910 Core/Support: Drop parts of the support system since Blizz switched to a browser based ticket system 2015-07-08 16:24:50 +02:00
Shauren
776e4411c0 Core/DataStores: Dropped a silly build 12880 check in db2 loader (it's a cataclysm beta build) 2015-07-08 10:25:50 +02:00
Shauren
dea6c0b122 Core/DataStores: Updated dbc/db2 structures to 6.2.0 2015-07-07 12:13:14 +02:00
Shauren
b08b3b93e2 Core/DataStores: Removed CreatureSpellData.dbc, it is not used anymore 2015-07-04 19:47:58 +02:00
MitchesD
f22c2c3f30 Core/DataStores: moved GameTables to separate method and load them from DB2 2015-07-04 13:56:49 +02:00
Naios
0df90fa4a4 Core/Updater: Fix mysql cli password prompt when password is empty.
* ref: http://community.trinitycore.org/topic/11510-world-server-bug-enter-password-to-update/

(cherry picked from commit 4335611010)
2015-06-30 23:46:25 +02:00
Naios
a16d3e8eec Core/Utilities: Fix callback invokation when there are no tasks present.
* thx @joschiwald for noticing.

(cherry picked from commit 836ec5a6e6)
2015-06-30 23:46:09 +02:00
jackpoz
edc2476e84 Core/CrashHandler: Make crashhandler tread-safe
Handle only 1 exception in the whole process lifetime and create only 1 crash report.

(cherry picked from commit 1a5051a9c3)
2015-06-26 02:59:27 +01:00
Naios
881ebccdc4 Core/Utilities: TaskScheduler: add a task validator and on update success callback.
* makes it possible to block tasks if there is an active spellcast.
* requested by @joschiwald

(cherry picked from commit 3d95aba2b3)
2015-06-21 18:20:12 +02:00
Naios
5e47ae7e73 Core/Updater: Fix a wrong formatter introduced in 0d095109ee
* thanks @Aokromes for noticing

(cherry picked from commit bd661b58fd)
2015-06-21 18:17:00 +02:00
Shauren
f6bc87fe5d Core/Threading: Fixed possible data races after making auth queries async by moving their processing to boost::asio::io_service::run threads 2015-06-21 02:13:08 +02:00
Naios
0d095109ee Core/Updater: Add some info about the count of applied updates.
* some minor improvements
* add a log message when database updates are disabled.

(cherry picked from commit a5b3862bc1)
2015-06-20 15:18:31 +02:00
Shauren
0e49eefe85 Core/DBLayer: Sprinkle some async magic on worldserver auth/session load process
* Implemented base for loading account wide data
2015-06-20 00:59:31 +02:00
Shauren
dc53dad8a4 Core/Misc: Warning fixes 2015-06-13 14:04:10 +02:00
DJScias
3f58ad3060 Core/DBLayer: Correct Battle.net CheckPassword
- Async would lock and crash the server
- This fixes !bnet set password and !bnet password
2015-06-12 11:35:58 +02:00
Naios
df80f1900d Core/Shared: Hide the internal shared_ptr of the TaskContext
* use . operator instead of -> to access the TaskContext now.
* Add TaskContext::IsExpired to check whether the owner has expired.

(cherry picked from commit 151a0f5c5e)
2015-06-03 18:37:41 +02:00
jackpoz
8cbdb7aa36 Core/CrashHandler: Log STACK_OVERFLOW crashes
Try to log STACK_OVERFLOW crashes by allocating log buffer on the heap which should still be in a valid state with a stack overflow exception.
This will probably still not produce a complete crash report with details about all stackframes.

(cherry picked from commit ec4b08e3cf)
2015-06-01 00:53:21 +01:00
Naios
9a999556ec Shared/Util: Introduce a task scheduler which schedules task with c++11 techniques.
* Use std::function as callback (methods, lamdas & std::bind).
* Uses std::chrono::duration as duration type (Milliseconds, Seconds...)
  - With c++11 user defined literals we could just write "11s" for example (MSVS 2015, gcc & clang).
* Provides a lot of overloads for easier usage:
  - Static durations or random durations between min and max.
  - Named (with group ids - group id 0 is possible) or anonymous tasks.
  - Asynchronous tasks.
* Is adapted to the current needs of scripting:
  - Repeat tasks through the TaskContext
  - Schedule new tasks from the context.
  - Provides access to the times repeat counter of a task,
    this will help to schedule multi step events (dialogs for example).

See https://gist.github.com/Naios/6d143538abdc3d32fd2b for usage examples.

(cherry picked from commit da77a90aa9)
2015-05-31 20:31:29 +02:00