Browse Source

Upgrade to New Installforge, and scripting fixes

Gitea 3 years ago
parent
commit
9d9e4cd2ac
6 changed files with 225 additions and 81 deletions
  1. 2 2
      !!!! ReadMe !!!!.txt
  2. 66 25
      LAUNCH EQ2EMU.bat
  3. BIN
      LAUNCH EQ2EMU.rar
  4. 15 6
      Options.bat
  5. BIN
      installforge/zeklabsinstaller.ifp
  6. 142 48
      options/LAUNCH EQ2EMU.bat

+ 2 - 2
!!!! ReadMe !!!!.txt

@@ -2,7 +2,7 @@ Included Software and Versions
 MariaDB(mysql) 	   -- 10.4.12 (https://downloads.mariadb.org/)
 Unrar         	   -- 5.90    (https://www.rarlab.com/)
 Wget(windows)	   -- 1.20.3  (https://eternallybored.org/misc/wget/)
-HeidiSql	   -- 11.0.0  (https://www.heidisql.com)
+HeidiSql		   -- 11.0.0  (https://www.heidisql.com)
 Zeklabs.com EQ2emu -- Git Live (http://cutpon.com:3000/devn00b/EQ2EMu)
 
 The default password for MYSQL root user is blank (Localhost only).
@@ -19,7 +19,7 @@ Configuration Options.
 	In file launch.bat you will find the following options (All Default 1 Except EXEUPDATE): 
 	SQLUPDATE  - Update the database (1 on 0 off). *** THIS WILL ERASE ALL CHARACTERS ***
 	EXEUPDATE  - Update the Loginserver/Worldserver to the most recent build (1 on 0 off).
-        LUAUPDATE  - Update the LUA Scripts (1 on 0 off).
+	LUAUPDATE  - Update the LUA Scripts (1 on 0 off).
 	MAPUPDATE  - Update the 3d Maps/Navmesh (1 on 0 off).
 	SENDBUGS   - Sends bug reports (created in game with /bug) to zeklabs.com.
 	STRUCTCHK  - Check for updated structs. This is forced on with EXE updates enabled. (1 on 0 off)

+ 66 - 25
LAUNCH EQ2EMU.bat

@@ -8,7 +8,7 @@ rem LUAUPDATE Will update, LUA files. 1 for on, anything else for off.
 rem MAPUPDATE Will update, MAP files. 1 for on, anything else for off.
 rem SENDBUGS  Will send your bug reports to an offsite server to be reviewed by staff. 1 for on, anything else is off.
 rem STRUCTCHK Will check for new Structs. 1 for on 0 for off. If you have EXE updates enabled this will run automatically.
-rem LSUPDATE Will check for new Loginserver updates SQL
+rem LSUPDATE  Will check for new Loginserver updates SQL
 
 SET NAME=Zeklabs.com
 TITLE %NAME%
@@ -20,15 +20,23 @@ SET SENDBUGS=1
 SET STRUCTCHK=1
 SET LSUPDATE=1
 
+rem Some people have older version of this script, and are missing options.bat so lets be sure they get it no matter what option is selected.
+rem On each load delete options.bat and re-download it.
+powershell write-host -fore Blue [Making sure you have an updated Options.bat]
+move options.bat options.old
+wget -q -N --no-check-certificate https://www.zeklabs.com/dl/Options.bat
+echo [Completed Option.bat Update]
+echo  
+
 if /I "%SQLUPDATE%" EQU "1" powershell write-host -fore Red ******** SETTING SQLUPDATE = 1 WILL ERASE ALL DATA IN THE DATABASE use 2 TO SAVE CHARACTERS/GUILDS ************
 if /I "%SQLUPDATE%" EQU "1" echo [Checking for SQL Full Update and Downloading]
-if /I "%SQLUPDATE%" EQU "1" wget -q -N --no-check-certificate https://zeklabs.com/dl/eq2emudb.rar
+if /I "%SQLUPDATE%" EQU "1" wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://zeklabs.com/dl/eq2emudb.rar
 if /I "%SQLUPDATE%" EQU "1" unrar x -y -inul eq2emudb.rar
 if /I "%SQLUPDATE%" EQU "1" del eq2emudb.rar
 if /I "%SQLUPDATE%" EQU "1" echo [Completed Download of SQL Full Update]
 
 if /I "%SQLUPDATE%" EQU "2" echo [Checking for SQL Update and Downloading]
-if /I "%SQLUPDATE%" EQU "2" wget -q -N --no-check-certificate https://zeklabs.com/dl/eq2dbupdate.rar
+if /I "%SQLUPDATE%" EQU "2" wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://zeklabs.com/dl/eq2dbupdate.rar
 if /I "%SQLUPDATE%" EQU "2" unrar x -y -inul eq2dbupdate.rar
 if /I "%SQLUPDATE%" EQU "2" del eq2dbupdate.rar
 if /I "%SQLUPDATE%" EQU "2" echo [Completed Download of SQL Update]
@@ -37,19 +45,21 @@ if /I "%EXEUPDATE%" EQU "1" echo [Checking for EXE Updates. **NOTE** If somethin
 if /I "%EXEUPDATE%" EQU "1" cd server
 if /I "%EXEUPDATE%" EQU "1" mkdir oldfiles
 if /I "%EXEUPDATE%" EQU "1" move eq2*.exe oldfiles
-if /I "%EXEUPDATE%" EQU "1" wget -q -nc http://cutpon.com:3000/devn00b/EQ2EMu/raw/master/server/EQ2Login__Debug64.exe
-if /I "%EXEUPDATE%" EQU "1" wget -q -nc http://cutpon.com:3000/devn00b/EQ2EMu/raw/master/server/EQ2World__Debug_x64.exe
+if /I "%EXEUPDATE%" EQU "1" wget -q http://cutpon.com:3000/devn00b/EQ2EMu/raw/master/server/EQ2Login__Debug64.exe
+if /I "%EXEUPDATE%" EQU "1" wget -q http://cutpon.com:3000/devn00b/EQ2EMu/raw/master/server/EQ2World__Debug_x64.exe
 if /I "%EXEUPDATE%" EQU "1" echo [New EXE Could Mean NEW Structs. Checking...]
 if /I "%EXEUPDATE%" EQU "1" move SpawnStructs.xml oldfiles/
 if /I "%EXEUPDATE%" EQU "1" move WorldStructs.xml oldfiles/
 if /I "%EXEUPDATE%" EQU "1" move EQ2_Structs.xml oldfiles/
 if /I "%EXEUPDATE%" EQU "1" move ItemStructs.xml oldfiles/
 if /I "%EXEUPDATE%" EQU "1" move LoginStructs.xml oldfiles/
-if /I "%EXEUPDATE%" EQU "1" wget -q -nc http://cutpon.com:3000/devn00b/EQ2EMu/raw/master/server/SpawnStructs.xml
-if /I "%EXEUPDATE%" EQU "1" wget -q -nc http://cutpon.com:3000/devn00b/EQ2EMu/raw/master/server/WorldStructs.xml
-if /I "%EXEUPDATE%" EQU "1" wget -q -nc http://cutpon.com:3000/devn00b/EQ2EMu/raw/master/server/EQ2_Structs.xml
-if /I "%EXEUPDATE%" EQU "1" wget -q -nc http://cutpon.com:3000/devn00b/EQ2EMu/raw/master/server/ItemStructs.xml
-if /I "%EXEUPDATE%" EQU "1" wget -q -nc http://cutpon.com:3000/devn00b/EQ2EMu/raw/master/server/LoginStructs.xml
+if /I "%EXEUPDATE%" EQU "1" move CommonStructs.xml oldfiles/
+if /I "%EXEUPDATE%" EQU "1" wget -q http://cutpon.com:3000/devn00b/EQ2EMu/raw/master/server/SpawnStructs.xml
+if /I "%EXEUPDATE%" EQU "1" wget -q http://cutpon.com:3000/devn00b/EQ2EMu/raw/master/server/WorldStructs.xml
+if /I "%EXEUPDATE%" EQU "1" wget -q http://cutpon.com:3000/devn00b/EQ2EMu/raw/master/server/EQ2_Structs.xml
+if /I "%EXEUPDATE%" EQU "1" wget -q http://cutpon.com:3000/devn00b/EQ2EMu/raw/master/server/ItemStructs.xml
+if /I "%EXEUPDATE%" EQU "1" wget -q http://cutpon.com:3000/devn00b/EQ2EMu/raw/master/server/LoginStructs.xml
+if /I "%EXEUPDATE%" EQU "1" wget -q http://cutpon.com:3000/devn00b/EQ2EMu/raw/master/server/CommonStructs.xml
 if /I "%EXEUPDATE%" EQU "1" echo [Completed Struct Updates]
 if /I "%EXEUPDATE%" EQU "1" echo [Completed EXE Updates]
 if /I "%EXEUPDATE%" EQU "1" cd ..
@@ -57,31 +67,46 @@ if /I "%EXEUPDATE%" EQU "1" cd ..
 if /I "%LUAUPDATE%" EQU "1" echo [Checking for LUA Updates]
 if /I "%LUAUPDATE%" EQU "1" echo [This will take a moment due to number of files]
 if /I "%LUAUPDATE%" EQU "1" cd server
-if /I "%LUAUPDATE%" EQU "1" wget -q -N --no-check-certificate https://zeklabs.com/dl/eq2emulua.rar
+if /I "%LUAUPDATE%" EQU "1" wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://zeklabs.com/dl/eq2emulua.rar
 if /I "%LUAUPDATE%" EQU "1" ..\unrar x -y -inul eq2emulua.rar
 if /I "%LUAUPDATE%" EQU "1" del eq2emulua.rar
 if /I "%LUAUPDATE%" EQU "1" echo [Completed LUA Updates]
 if /I "%LUAUPDATE%" EQU "1" cd ..
 
 if /I "%MAPUPDATE%" EQU "1" echo [Checking for MAP Updates]
-if /I "%MAPUPDATE%" EQU "1" echo [This will take a moment due to LARGE map size]
+if /I "%MAPUPDATE%" EQU "1" echo [This will take a LONG time. The maps are 2+ GB in size.]
 if /I "%MAPUPDATE%" EQU "1" cd server
-if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate https://zeklabs.com/dl/eq2emumaps.rar
-if /I "%MAPUPDATE%" EQU "1" ..\unrar x -y -inul eq2emumaps.rar
-if /I "%MAPUPDATE%" EQU "1" del eq2emumaps.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part01.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part02.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part03.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part04.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part05.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part06.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part07.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part08.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part09.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part10.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part11.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part12.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part13.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part14.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part15.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part16.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part17.rar
+if /I "%MAPUPDATE%" EQU "1" echo [Any downloads below here means NEW maps!]
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part18.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part19.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part20.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part21.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part22.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part23.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part24.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part25.rar
+if /I "%MAPUPDATE%" EQU "1" ..\unrar x -o+ -inul eq2emumaps*.rar 
+if /I "%MAPUPDATE%" EQU "1" del /f /q eq2emumaps*.rar
 if /I "%MAPUPDATE%" EQU "1" echo [Completed MAP Updates]
 if /I "%MAPUPDATE%" EQU "1" cd ..
 
-if /I "%LSUPDATE%" EQU "1" echo [Updating LoginServer SQL]
-if /I "%LSUPDATE%" EQU "1" cd server
-if /I "%LSUPDATE%" EQU "1" mkdir oldfiles
-if /I "%LSUPDATE%" EQU "1" wget -q -N --no-check-certificate https://zeklabs.com/dl/eq2emulssql.rar
-if /I "%LSUPDATE%" EQU "1" ..\unrar x -y -inul eq2emumlssql.rar
-if /I "%LSUPDATE%" EQU "1" mysql -ueq2emu -peq2emu --database=eq2emu < eq2emulssql.sql
-if /I "%LSUPDATE%" EQU "1" move eq2emuls* oldfiles/
-if /I "%LSUPDATE%" EQU "1" echo [Completed Updating LoginServer SQL]
-if /I "%LSUPDATE%" EQU "1" cd ..
-
 echo [Loading MariaDB]
 cd mariadb\bin
 start db.bat
@@ -90,6 +115,22 @@ timeout /t 60
 echo [MariaDB Loaded]
 cd ..\..
 
+if /I "%LSUPDATE%" EQU "1" echo [Updating LoginServer SQL]
+if /I "%LSUPDATE%" EQU "1" cd server
+if /I "%LSUPDATE%" EQU "1" mkdir oldfiles
+if /I "%LSUPDATE%" EQU "1" echo [Saving Character Data before Import]
+if /I "%LSUPDATE%" EQU "1" ..\mariadb\bin\mysqldump -ueq2emu -peq2emu eq2ls login_characters > lschars.sql
+if /I "%LSUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate https://zeklabs.com/dl/eq2emulssql.rar
+if /I "%LSUPDATE%" EQU "1" ..\unrar x -y -inul eq2emulssql.rar
+if /I "%LSUPDATE%" EQU "1" ..\mariadb\bin\mysql -ueq2emu -peq2emu --database=eq2emu < eq2emulssql.sql
+if /I "%LSUPDATE%" EQU "1" echo [Importing old character data (if any)]
+if /I "%LSUPDATE%" EQU "1" ..\mariadb\bin\mysql -ueq2emu -peq2emu --database=eq2ls <lschars.sql
+if /I "%LSUPDATE%" EQU "1" echo [Characters Backported to DB]
+if /I "%LSUPDATE%" EQU "1" del /f /q lschars.sql
+if /I "%LSUPDATE%" EQU "1" move eq2emuls* oldfiles/
+if /I "%LSUPDATE%" EQU "1" echo [Completed Updating LoginServer SQL]
+if /I "%LSUPDATE%" EQU "1" cd ..
+
 if /I "%SENDBUGS%" EQU "1" echo [Uploading BUG Reports to Devn00b]
 if /I "%SENDBUGS%" EQU "1" cd mariadb\bin\
 if /I "%SENDBUGS%" EQU "1" mysqldump -ueq2emu -peq2emu --no-create-db --no-create-info --complete-insert --skip-add-locks --skip-add-drop-table --skip-comments --compact eq2emu bugs >bugs.sql

BIN
LAUNCH EQ2EMU.rar


+ 15 - 6
Options.bat

@@ -37,6 +37,8 @@ if /I "%OPTION%" EQU "2" cd ..
 
 if /I "%OPTION%" EQU "3" echo [Checking for EXE Updates]
 if /I "%OPTION%" EQU "3" cd server
+if /I "%OPTION%" EQU "3" move EQ2Login__Debug64.exe oldfiles
+if /I "%OPTION%" EQU "3" move EQ2World__Debug_x64.exe oldfiles
 if /I "%OPTION%" EQU "3" wget -q -nc http://cutpon.com:3000/devn00b/EQ2EMu/raw/master/server/EQ2Login__Debug64.exe
 if /I "%OPTION%" EQU "3" wget -q -nc http://cutpon.com:3000/devn00b/EQ2EMu/raw/master/server/EQ2World__Debug_x64.exe
 if /I "%OPTION%" EQU "3" echo [Completed EXE Updates]
@@ -54,17 +56,24 @@ if /I "%OPTION%" EQU "4" cd ..\
 
 if /I "%OPTION%" EQU "5" echo [Checking for Struct Updates]
 if /I "%OPTION%" EQU "5" cd server
-if /I "%OPTION%" EQU "5" wget -q -nc http://cutpon.com:3000/devn00b/EQ2EMu/raw/master/server/SpawnStructs.xml
-if /I "%OPTION%" EQU "5" wget -q -nc http://cutpon.com:3000/devn00b/EQ2EMu/raw/master/server/WorldStructs.xml
-if /I "%OPTION%" EQU "5" wget -q -nc http://cutpon.com:3000/devn00b/EQ2EMu/raw/master/server/EQ2_Structs.xml
-if /I "%OPTION%" EQU "5" wget -q -nc http://cutpon.com:3000/devn00b/EQ2EMu/raw/master/server/ItemStructs.xml
-if /I "%OPTION%" EQU "5" wget -q -nc http://cutpon.com:3000/devn00b/EQ2EMu/raw/master/server/LoginStructs.xml
+if /I "%OPTION%" EQU "5" move SpawnStructs.xml oldfiles/
+if /I "%OPTION%" EQU "5" move WorldStructs.xml oldfiles/
+if /I "%OPTION%" EQU "5" move EQ2_Structs.xml oldfiles/
+if /I "%OPTION%" EQU "5" move ItemStructs.xml oldfiles/
+if /I "%OPTION%" EQU "5" move LoginStructs.xml oldfiles/
+if /I "%OPTION%" EQU "5" move CommonStructs.xml oldfiles/
+if /I "%OPTION%" EQU "5" wget -q http://cutpon.com:3000/devn00b/EQ2EMu/raw/master/server/SpawnStructs.xml
+if /I "%OPTION%" EQU "5" wget -q http://cutpon.com:3000/devn00b/EQ2EMu/raw/master/server/WorldStructs.xml
+if /I "%OPTION%" EQU "5" wget -q http://cutpon.com:3000/devn00b/EQ2EMu/raw/master/server/EQ2_Structs.xml
+if /I "%OPTION%" EQU "5" wget -q http://cutpon.com:3000/devn00b/EQ2EMu/raw/master/server/ItemStructs.xml
+if /I "%OPTION%" EQU "5" wget -q http://cutpon.com:3000/devn00b/EQ2EMu/raw/master/server/LoginStructs.xml
+if /I "%OPTION%" EQU "5" wget -q http://cutpon.com:3000/devn00b/EQ2EMu/raw/master/server/CommonStructs.xml
 if /I "%OPTION%" EQU "5" cd ..
 
 if /I "%OPTION%" EQU "6" echo [Updating Startup Script]
 if /I "%OPTION%" EQU "6" del /f /q "LAUNCH EQ2EMU.bat"
 if /I "%OPTION%" EQU "6" wget -q --no-check-certificate "https://zeklabs.com/dl/LAUNCH EQ2EMU.rar"
-if /I "%OPTION%" EQU "6" unrar x -y -inul"LAUNCH EQ2EMU.rar"
+if /I "%OPTION%" EQU "6" unrar x -y -inul "LAUNCH EQ2EMU.rar"
 if /I "%OPTION%" EQU "6" del /f /q "LAUNCH EQ2EMU.rar"
 if /I "%OPTION%" EQU "6" echo [Updated Startup Script]
 

BIN
installforge/zeklabsinstaller.ifp


+ 142 - 48
options/LAUNCH EQ2EMU.bat

@@ -1,48 +1,111 @@
 @echo off
+rem The following are the variables used, what they do, and the settings available.
+rem All settings on by default.
+rem SQLUPDATE Will update, the EQ2Emu World DB. 1 for on, 2 for updates only. anything else for off.
+rem ******** SETTING SQLUPDATE = 1 WILL ERASE ALL DATA IN THE DATABASE use 2 TO SAVE CHARACTERS/GUILDS ************
+rem EXEUPDATE Will update, EXE files. 1 for on, anything else for off.
+rem LUAUPDATE Will update, LUA files. 1 for on, anything else for off.
+rem MAPUPDATE Will update, MAP files. 1 for on, anything else for off.
+rem SENDBUGS  Will send your bug reports to an offsite server to be reviewed by staff. 1 for on, anything else is off.
+rem STRUCTCHK Will check for new Structs. 1 for on 0 for off. If you have EXE updates enabled this will run automatically.
+rem LSUPDATE  Will check for new Loginserver updates SQL
+
 SET NAME=Zeklabs.com
-rem SQLDATE Will update, the EQ2Emu World DB. 1 for on, anything else for off.
-rem EXEDATE Wull update, EXE files. 1 for on, anything else for off.
-rem LUADATE Wull update, LUA files. 1 for on, anything else for off.
-rem MAPDATE Wull update, MAP files. 1 for on, anything else for off.
-rem strange name, It was supposed to be SQLUDATE etc but u got lost in the black whole that is my mind.
-rem ALL UPDATE OPTIONS ARE DESTRUCTIVE AND WILL DELETE YOUR DATA
-SET SQLDATE=1
-SET EXEDATE=1
-SET LUADATE=1
-SET MAPDATE=1
 TITLE %NAME%
-COLOR 0E
+SET SQLUPDATE=1
+SET EXEUPDATE=1
+SET LUAUPDATE=1
+SET MAPUPDATE=1
+SET SENDBUGS=1
+SET STRUCTCHK=1
+SET LSUPDATE=1
+
+rem Some people have older version of this script, and are missing options.bat so lets be sure they get it no matter what option is selected.
+rem On each load delete options.bat and re-download it.
+powershell write-host -fore Blue [Making sure you have an updated Options.bat]
+move options.bat options.old
+wget -q -N --no-check-certificate https://www.zeklabs.com/dl/Options.bat
+echo [Completed Option.bat Update]
+echo  
 
-if /I "%SQLDATE%" EQU "1" echo [Checking for SQL Updates and Downloading]
-if /I "%SQLDATE%" EQU "1" wget -q -N https://zeklabs.com/dl/eq2emudb.rar
-if /I "%SQLDATE%" EQU "1" unrar x -y -inul eq2emudb.rar
-if /I "%SQLDATE%" EQU "1" echo [Completed Dwonload of SQL Updates]
+if /I "%SQLUPDATE%" EQU "1" powershell write-host -fore Red ******** SETTING SQLUPDATE = 1 WILL ERASE ALL DATA IN THE DATABASE use 2 TO SAVE CHARACTERS/GUILDS ************
+if /I "%SQLUPDATE%" EQU "1" echo [Checking for SQL Full Update and Downloading]
+if /I "%SQLUPDATE%" EQU "1" wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://zeklabs.com/dl/eq2emudb.rar
+if /I "%SQLUPDATE%" EQU "1" unrar x -y -inul eq2emudb.rar
+if /I "%SQLUPDATE%" EQU "1" del eq2emudb.rar
+if /I "%SQLUPDATE%" EQU "1" echo [Completed Download of SQL Full Update]
 
-if /I "%EXEDATE%" EQU "1" echo [Checking for EXE Updates]
-if /I "%EXEDATE%" EQU "1" cd server
-if /I "%EXEDATE%" EQU "1" wget -q -nc http://cutpon.com:3000/devn00b/EQ2EMu/raw/master/server/EQ2Login__Debug64.exe
-if /I "%EXEDATE%" EQU "1" wget -q -nc http://cutpon.com:3000/devn00b/EQ2EMu/raw/master/server/ EQ2World__Debug_x64.exe
-if /I "%EXEDATE%" EQU "1" echo [Completed EXE Updates]
-if /I "%EXEDATE%" EQU "1" cd ..
+if /I "%SQLUPDATE%" EQU "2" echo [Checking for SQL Update and Downloading]
+if /I "%SQLUPDATE%" EQU "2" wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://zeklabs.com/dl/eq2dbupdate.rar
+if /I "%SQLUPDATE%" EQU "2" unrar x -y -inul eq2dbupdate.rar
+if /I "%SQLUPDATE%" EQU "2" del eq2dbupdate.rar
+if /I "%SQLUPDATE%" EQU "2" echo [Completed Download of SQL Update]
 
-if /I "%LUADATE%" EQU "1" echo [Checking for LUA Updates]
-if /I "%LUADATE%" EQU "1" echo [This will take a moment due to number of files]
-if /I "%LUADATE%" EQU "1" cd server
-if /I "%LUADATE%" EQU "1" wget -q -N https://zeklabs.com/dl/eq2emulua.rar
-if /I "%LUADATE%" EQU "1" ..\unrar x -y -inul eq2emulua.rar
-if /I "%LUADATE%" EQU "1" del eq2emulua.rar
-if /I "%LUADATE%" EQU "1" echo [Completed LUA Updates]
-if /I "%LUADATE%" EQU "1" cd ..
+if /I "%EXEUPDATE%" EQU "1" echo [Checking for EXE Updates. **NOTE** If something goes wrong, backups files can be found in the oldfiles folder]
+if /I "%EXEUPDATE%" EQU "1" cd server
+if /I "%EXEUPDATE%" EQU "1" mkdir oldfiles
+if /I "%EXEUPDATE%" EQU "1" move eq2*.exe oldfiles
+if /I "%EXEUPDATE%" EQU "1" wget -q http://cutpon.com:3000/devn00b/EQ2EMu/raw/master/server/EQ2Login__Debug64.exe
+if /I "%EXEUPDATE%" EQU "1" wget -q http://cutpon.com:3000/devn00b/EQ2EMu/raw/master/server/EQ2World__Debug_x64.exe
+if /I "%EXEUPDATE%" EQU "1" echo [New EXE Could Mean NEW Structs. Checking...]
+if /I "%EXEUPDATE%" EQU "1" move SpawnStructs.xml oldfiles/
+if /I "%EXEUPDATE%" EQU "1" move WorldStructs.xml oldfiles/
+if /I "%EXEUPDATE%" EQU "1" move EQ2_Structs.xml oldfiles/
+if /I "%EXEUPDATE%" EQU "1" move ItemStructs.xml oldfiles/
+if /I "%EXEUPDATE%" EQU "1" move LoginStructs.xml oldfiles/
+if /I "%EXEUPDATE%" EQU "1" move CommonStructs.xml oldfiles/
+if /I "%EXEUPDATE%" EQU "1" wget -q http://cutpon.com:3000/devn00b/EQ2EMu/raw/master/server/SpawnStructs.xml
+if /I "%EXEUPDATE%" EQU "1" wget -q http://cutpon.com:3000/devn00b/EQ2EMu/raw/master/server/WorldStructs.xml
+if /I "%EXEUPDATE%" EQU "1" wget -q http://cutpon.com:3000/devn00b/EQ2EMu/raw/master/server/EQ2_Structs.xml
+if /I "%EXEUPDATE%" EQU "1" wget -q http://cutpon.com:3000/devn00b/EQ2EMu/raw/master/server/ItemStructs.xml
+if /I "%EXEUPDATE%" EQU "1" wget -q http://cutpon.com:3000/devn00b/EQ2EMu/raw/master/server/LoginStructs.xml
+if /I "%EXEUPDATE%" EQU "1" wget -q http://cutpon.com:3000/devn00b/EQ2EMu/raw/master/server/CommonStructs.xml
+if /I "%EXEUPDATE%" EQU "1" echo [Completed Struct Updates]
+if /I "%EXEUPDATE%" EQU "1" echo [Completed EXE Updates]
+if /I "%EXEUPDATE%" EQU "1" cd ..
 
-if /I "%MAPDATE%" EQU "1" echo [Checking for MAP Updates]
-if /I "%MAPDATE%" EQU "1" echo [This will take a moment due to LARGE map size]
-if /I "%MAPDATE%" EQU "1" cd server
-if /I "%MAPDATE%" EQU "1" ..\wget -q -N https://zeklabs.com/dl/eq2emumaps.rar
-if /I "%MAPDATE%" EQU "1" ..\unrar x -y -inul eq2emumaps.rar
-if /I "%MAPDATE%" EQU "1" del eq2emumaps.rar
-if /I "%MAPDATE%" EQU "1" echo [Completed MAP Updates]
-if /I "%MAPDATE%" EQU "1" cd ..\
+if /I "%LUAUPDATE%" EQU "1" echo [Checking for LUA Updates]
+if /I "%LUAUPDATE%" EQU "1" echo [This will take a moment due to number of files]
+if /I "%LUAUPDATE%" EQU "1" cd server
+if /I "%LUAUPDATE%" EQU "1" wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://zeklabs.com/dl/eq2emulua.rar
+if /I "%LUAUPDATE%" EQU "1" ..\unrar x -y -inul eq2emulua.rar
+if /I "%LUAUPDATE%" EQU "1" del eq2emulua.rar
+if /I "%LUAUPDATE%" EQU "1" echo [Completed LUA Updates]
+if /I "%LUAUPDATE%" EQU "1" cd ..
 
+if /I "%MAPUPDATE%" EQU "1" echo [Checking for MAP Updates]
+if /I "%MAPUPDATE%" EQU "1" echo [This will take a LONG time. The maps are 2+ GB in size.]
+if /I "%MAPUPDATE%" EQU "1" cd server
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part01.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part02.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part03.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part04.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part05.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part06.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part07.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part08.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part09.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part10.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part11.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part12.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part13.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part14.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part15.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part16.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part17.rar
+if /I "%MAPUPDATE%" EQU "1" echo [Any downloads below here means NEW maps!]
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part18.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part19.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part20.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part21.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part22.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part23.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part24.rar
+if /I "%MAPUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate --show-progress --progress=bar:force:noscroll https://github.com/devn00b/EQ2EMu-Maps/raw/master/eq2emumaps.part25.rar
+if /I "%MAPUPDATE%" EQU "1" ..\unrar x -o+ -inul eq2emumaps*.rar 
+if /I "%MAPUPDATE%" EQU "1" del /f /q eq2emumaps*.rar
+if /I "%MAPUPDATE%" EQU "1" echo [Completed MAP Updates]
+if /I "%MAPUPDATE%" EQU "1" cd ..
 
 echo [Loading MariaDB]
 cd mariadb\bin
@@ -50,21 +113,52 @@ start db.bat
 echo [You Can Press Any Key To Continue Once MYSQL has Completed Loading]
 timeout /t 60
 echo [MariaDB Loaded]
-cd ..
-cd..
+cd ..\..
+
+if /I "%LSUPDATE%" EQU "1" echo [Updating LoginServer SQL]
+if /I "%LSUPDATE%" EQU "1" cd server
+if /I "%LSUPDATE%" EQU "1" mkdir oldfiles
+if /I "%LSUPDATE%" EQU "1" echo [Saving Character Data before Import]
+if /I "%LSUPDATE%" EQU "1" ..\mariadb\bin\mysqldump -ueq2emu -peq2emu eq2ls login_characters > lschars.sql
+if /I "%LSUPDATE%" EQU "1" ..\wget -q -N --no-check-certificate https://zeklabs.com/dl/eq2emulssql.rar
+if /I "%LSUPDATE%" EQU "1" ..\unrar x -y -inul eq2emulssql.rar
+if /I "%LSUPDATE%" EQU "1" ..\mariadb\bin\mysql -ueq2emu -peq2emu --database=eq2emu < eq2emulssql.sql
+if /I "%LSUPDATE%" EQU "1" echo [Importing old character data (if any)]
+if /I "%LSUPDATE%" EQU "1" ..\mariadb\bin\mysql -ueq2emu -peq2emu --database=eq2ls <lschars.sql
+if /I "%LSUPDATE%" EQU "1" echo [Characters Backported to DB]
+if /I "%LSUPDATE%" EQU "1" del /f /q lschars.sql
+if /I "%LSUPDATE%" EQU "1" move eq2emuls* oldfiles/
+if /I "%LSUPDATE%" EQU "1" echo [Completed Updating LoginServer SQL]
+if /I "%LSUPDATE%" EQU "1" cd ..
+
+if /I "%SENDBUGS%" EQU "1" echo [Uploading BUG Reports to Devn00b]
+if /I "%SENDBUGS%" EQU "1" cd mariadb\bin\
+if /I "%SENDBUGS%" EQU "1" mysqldump -ueq2emu -peq2emu --no-create-db --no-create-info --complete-insert --skip-add-locks --skip-add-drop-table --skip-comments --compact eq2emu bugs >bugs.sql
+if /I "%SENDBUGS%" EQU "1" mysql -ueq2emu -pidontgive2shits --host=eq2db.devn00b.com --database=eq2emu <bugs.sql
+if /I "%SENDBUGS%" EQU "1" mysql -ueq2emu -peq2emu --database=eq2emu < options\clearbugs.sql
+if /I "%SENDBUGS%" EQU "1" del bugs.sql
+if /I "%SENDBUGS%" EQU "1" echo [Completed BUG Report Upload. Thank You.]
+if /I "%SENDBUGS%" EQU "1" cd ..\..
 
-if /I "%SQLDATE%" EQU "1" echo [Importing DB Update]
-if /I "%SQLDATE%" EQU "1" cd mariadb\bin\
-if /I "%SQLDATE%" EQU "1" mysql -ueq2emu -peq2emu --database=eq2emu <..\..\eq2emu.sql
-if /I "%SQLDATE%" EQU "1" cd ..
-if /I "%SQLDATE%" EQU "1" cd ..
-if /I "%SQLDATE%" EQU "1" del eq2emudb.rar
-if /I "%SQLDATE%" EQU "1" del eq2emu.sql
-if /I "%SQLDATE%" EQU "1" echo [Completed DB Update]
+if /I "%SQLUPDATE%" EQU "1" echo [Importing Full DB Update]
+if /I "%SQLUPDATE%" EQU "1" cd mariadb\bin\
+if /I "%SQLUPDATE%" EQU "1" echo [Deleting Character and Guild Info]
+if /I "%SQLUPDATE%" EQU "1" mysql -ueq2emu -peq2emu --database=eq2emu <..\..\eq2emu.sql
+if /I "%SQLUPDATE%" EQU "1" cd ..\..
+if /I "%SQLUPDATE%" EQU "1" del eq2emudb.rar
+if /I "%SQLUPDATE%" EQU "1" del eq2emu.sql
+if /I "%SQLUPDATE%" EQU "1" echo [Completed Full DB Update]
 
+if /I "%SQLUPDATE%" EQU "2" echo [Importing Partial DB Update]
+if /I "%SQLUPDATE%" EQU "2" cd mariadb\bin\
+if /I "%SQLUPDATE%" EQU "2" mysql -ueq2emu -peq2emu --database=eq2emu <..\..\eq2dbupdate.sql
+if /I "%SQLUPDATE%" EQU "2" cd ..\..
+if /I "%SQLUPDATE%" EQU "2" del eq2dbupdate.rar
+if /I "%SQLUPDATE%" EQU "2" del eq2dbupdate.sql
+if /I "%SQLUPDATE%" EQU "2" echo [Completed Partial DB Update]
 
 echo [Starting World And Login]
 start srvls.bat
 start srvwrld.bat
 
-rem exit
+exit