2385 Commits

Author SHA1 Message Date
Akkadius
251d4fa3e3 Implemented Automatic Database update and versioning system
Created database revision define, this is located in version.h in common #define CURRENT_BINARY_DATABASE_VERSION 9057
	- This revision define will need to be incremented each time a database update is made
	- Along with a revision define increment, you will need to update the db_update manifest located in:
		- https://raw.githubusercontent.com/EQEmu/Server/master/utils/sql/db_update_manifest.txt
		- An entry needs to be made at the bottom of the manifest, the entry is quite simple
		- Example: 9057|2014_11_13_spells_new_updates.sql|SHOW COLUMNS FROM `spells_new` LIKE 'disallow_sit'|empty|
			- This latest example is checking to see if the spells_new table contains the column 'disallow_sit', if its empty, the update needs to be ran
				- More examples of match types below:
		# Example: Version|Filename.sql|Query_to_Check_Condition_For_Needed_Update|match type|text to match
		#	0 = Database Version
		#	1 = Filename.sql
		#	2 = Query_to_Check_Condition_For_Needed_Update
		#	3 = Match Type - If condition from match type to Value 4 is true, update will flag for needing to be ran
		#		contains = If query results contains text from 4th value
		#		match = If query results matches text from 4th value
		#		missing = If query result is missing text from 4th value
		#		empty = If the query results in no results
		#		not_empty = If the query is not empty
		#	4 = Text to match
	- The manifest contains all database updates 'Required' to be made to the schema, and it will contain a working backport all the way back to SVN -
		currently it is tested and backported through the beginning of our Github repo
	- On world bootup or standalone run of db_update.pl, users will be prompted with a simple menu that we will expand upon later:

		============================================================
			   EQEmu: Automatic Database Upgrade Check
		============================================================
				Operating System is: MSWin32
				(Windows) MySQL is in system path
				Path = C:\Program Files\MariaDB 10.0\bin/mysql
		============================================================
				Binary Database Version: (9057)
				Local Database Version: (9057)

				Database up to Date: Continuing World Bootup...
		============================================================
		Retrieving latest database manifest...
        URL:    https://raw.githubusercontent.com/EQEmu/Server/master/utils/sql/db_update_manifest.txt
        Saved:  db_update/db_update_manifest.txt

Database Management Menu (Please Select):
        1) Backup Database - (Saves to Backups folder)
                Ideal to perform before performing updates
        2) Backup Database Compressed - (Saves to Backups folder)
                Ideal to perform before performing updates
        3) Check for pending Database updates
                Stages updates for automatic upgrade...
        0) Exit

Created db_update.pl, placed in utils/scripts folder, used for the automatic database update routine (Linux/Windows)
	- db_update.pl script created db_version table if not created, if old one is present it will remove it
Created db_dumper.pl, placed in utils/scripts folder, used for the automatic database update routine backups and standalone backups (Linux/Windows)
World will now check the db_update.pl script on bootup, if the db_update.pl script is not present, it will fetch it remotely before running -
	when db_update.pl is done running, world will continue with bootup
world.exe db_version - will report database binary version
2014-11-16 19:26:59 -06:00
Akkadius
9324bdf107 db_update.pl update 2014-11-16 19:04:33 -06:00
Akkadius
e3e63efd68 SQL Source update fixes for newer DB versions 2014-11-16 18:32:13 -06:00
Akkadius
071367b6a9 db_update.pl update
db_update_manifest.txt update
2014_09_20_ban_messages.sql fix for non PEQ account tables missing expansion column
2014-11-16 18:17:04 -06:00
JJ
2e8d7b09af Temp merchant items could duplicate slots also... 2014-11-16 19:04:15 -05:00
Akkadius
eee65b8c22 Special Abilities column fix for older updates and newer database engines for the automatic database updater.
db_update.pl changes
Manifest update
2014-11-16 17:48:50 -06:00
Michael Cook (mackal)
e11fa4a278 Fix issue with ControlBoat_Struct and OP_BoardBoat 2014-11-16 17:42:15 -05:00
Akkadius
bd48efcdd5 db_update.pl changes 2014-11-16 05:31:19 -06:00
Akkadius
9ac79f1071 Manifest changes, initial db_update script upload. Source changes on its way. 2014-11-16 05:09:58 -06:00
Akkadius
0017951a74 Manifest update, removal of duplicate AA SQL update file 2014-11-16 00:10:09 -06:00
Akkadius
959319f91f Uploading utility script db_dumper.pl - Cross platform database dumper utility that supports compression
############################################################
#::: Script: DB_Dumper.pl
#::: Purpose: Utility to easily manage database backups and compress.
#:::	Export Individual DB Tables...
#:::	Export specific databases...
#::: 	Built for both Windows and Linux
#::: Windows uses WinRar or 7-Zip for compression
#::: Linux uses tar for compression
#::: Author: Akkadius
############################################################
2014-11-15 23:29:37 -06:00
Uleat
0355af310d Non-buggy fix for OP_ShopPlayerBuy (thanks Natedog!) 2014-11-15 23:16:24 -05:00
Akkadius
fe364a0798 Initial upload of db_update_manifest.txt 2014-11-15 21:53:33 -06:00
Michael Cook (mackal)
30922afd08 Remove scaling hack for client 62 (untested) 2014-11-15 01:01:57 -05:00
Michael Cook (mackal)
73e398b0f4 Remove scaling hack for SoD 2014-11-15 01:00:38 -05:00
Michael Cook (mackal)
10ae97e42f Remove scaling hack for SoF 2014-11-15 00:54:21 -05:00
Michael Cook (mackal)
96242f6c5e Remove scaling hack for Titanium 2014-11-15 00:29:56 -05:00
Michael Cook (mackal)
5dc3a5ab20 Also stop using hack on UF 2014-11-15 00:08:16 -05:00
Michael Cook (mackal)
44bfdfebc2 Correct charm scaling for RoF
Other clients should actually work the same as well
2014-11-14 23:45:56 -05:00
SecretsOTheP
d33b320436 I accidentally the whole Uleat 2014-11-14 18:29:30 -05:00
SecretsOTheP
51b6db977f Identified object size and solidtype as flags. Exported them as functions to Perl. 2014-11-14 18:22:06 -05:00
Uleat
e02e6099aa Merge branch 'master' of https://github.com/EQEmu/Server 2014-11-14 17:58:12 -05:00
Uleat
8e20f3e7dc Updated #peekinv to use MakeItemLink (per Natedog's suggestion) 2014-11-14 17:57:55 -05:00
JJ
5434c47d1f Merge pull request #291 from KayenEQ/Development
Support for spell field to determine if a spell can be blocked or not.
2014-11-14 07:31:39 -05:00
KayenEQ
cbc8e652b9 fix 2014-11-14 00:34:17 -05:00
KayenEQ
4a26466b2b add 2014-11-14 00:26:14 -05:00
KayenEQ
6c7a4edae3 Support for spell field to determine if a spell can be blocked or not.
Numerous other spell fields defined.

Required sql added for updating spells_new field definations.
2014-11-14 00:23:26 -05:00
JJ
8c8cec29d4 Merge pull request #290 from KayenEQ/Development
Implemented target type (44) Beams
2014-11-13 22:38:19 -05:00
KayenEQ
9de4f84f22 Merge git://github.com/EQEmu/Server into Development
Conflicts:
	changelog.txt
2014-11-13 21:49:10 -05:00
KayenEQ
563a39c2d9 Spell field defined that determines if must be sneaking to use this ability.
This is handled by client under normal conditions, however if you
force cast this effect in situations like 'procs' you can cause
zone crashes, therefore a failsafe check is added in 'SpellOnTarget'
2014-11-13 21:45:19 -05:00
Uleat
741eca17f4 Added exclusion check for PlayerLogMerchantTransactions partial stack purchase logging 2014-11-13 13:17:29 -05:00
KayenEQ
b32f59a40d Further support for spell field 'aemaxtargets' 2014-11-13 06:00:01 -05:00
KayenEQ
352d6fd83c Support for all remaining known spell target types.
Implemented target type (32) AE Target HateList
Implemented target type (36) Area Client Only
Implemented target type (37) Area PC Only
Implemented target type (39) Group No Pet
2014-11-13 05:19:01 -05:00
KayenEQ
738fa38047 Implemented target type (50) which excludes players pets from target AE's. 2014-11-13 02:46:22 -05:00
KayenEQ
fabe93e548 Implemented target type (44) 'Beams' (which projects an AE infront of caster with a specified length and width).
Clean up of target type direction code, implemented use of aemaxtargets field for it.
2014-11-13 02:25:18 -05:00
Uleat
16f72be898 Added remarked #pragma comments around the OPGMTraining problem code (more for a reminder..but, can be enabled if you are having crash issues involving the for-loop) 2014-11-12 23:41:38 -05:00
JJ
9c22de9eb2 Not an error if there isn't merchant data to load... 2014-11-12 19:50:53 -05:00
Uleat
f0f5262e3e Updated 'GMTrainee' structs to reflect the proper size of skills (100) 2014-11-12 18:17:03 -05:00
cavedude00
8594148496 Fixed npc_types_tint not being loaded properly. 2014-11-12 11:29:10 -08:00
JJ
dd869695c4 Merge pull request #288 from KayenEQ/Development
optimization for how do endurance upkeep for discs
2014-11-12 04:41:07 -05:00
KayenEQ
7943a73cfb code fix 2014-11-12 02:03:24 -05:00
KayenEQ
59bcd031c8 Added a simple check to prevent DoEnduranceUpkeep (1 sec persistent timer)
from constantly checking when client has no endurance drain effects.
This was running 24/7 for all classes.
2014-11-12 01:54:21 -05:00
Uleat
22cc86e6a0 Removed type qualifier for SkillUseTypes enum 2014-11-11 18:01:21 -05:00
Uleat
a763fc08b6 Merge branch 'master' of https://github.com/EQEmu/Server
Conflicts:
	changelog.txt
2014-11-11 00:14:18 -05:00
Uleat
8ae234aedf Real fix for GM trainer crash..evidently the problem went deeper than an undefined condition... 2014-11-11 00:11:44 -05:00
JJ
793487b825 Yellow faction messages. 2014-11-10 22:11:23 -05:00
Uleat
bb5ae7447d Fix for GM Trainer crashing server (undefined behavior on enum cast) 2014-11-10 21:41:39 -05:00
JJ
0370156179 Fix changelog. [skip ci] 2014-11-10 10:52:17 -05:00
JJ
39cab761eb Merge pull request #287 from KayenEQ/Development
Implemented support for using target rings from item clicks
2014-11-10 10:39:29 -05:00
KayenEQ
720e80377e Merge git://github.com/EQEmu/Server into Development
Conflicts:
	changelog.txt
	common/eq_packet_structs.h
	common/patches/underfoot_structs.h
	common/spdat.h
	zone/effects.cpp
	zone/mob.cpp
	zone/spells.cpp
2014-11-10 10:22:50 -05:00