diff --git a/FFXIVClassic Map Server/WorldManager.cs b/FFXIVClassic Map Server/WorldManager.cs index f6cd0e17..e61e4221 100644 --- a/FFXIVClassic Map Server/WorldManager.cs +++ b/FFXIVClassic Map Server/WorldManager.cs @@ -76,7 +76,8 @@ namespace FFXIVClassic_Map_Server isInn, canRideChocobo, canStealth, - isInstanceRaid + isInstanceRaid, + loadNavMesh FROM server_zones WHERE zoneName IS NOT NULL and serverIp = @ip and serverPort = @port"; @@ -89,7 +90,8 @@ namespace FFXIVClassic_Map_Server { while (reader.Read()) { - Zone zone = new Zone(reader.GetUInt32(0), reader.GetString(1), reader.GetUInt16(2), reader.GetString(3), reader.GetUInt16(4), reader.GetUInt16(5), reader.GetUInt16(6), reader.GetBoolean(7), reader.GetBoolean(8), reader.GetBoolean(9), reader.GetBoolean(10), reader.GetBoolean(11)); + Zone zone = new Zone(reader.GetUInt32(0), reader.GetString(1), reader.GetUInt16(2), reader.GetString(3), reader.GetUInt16(4), reader.GetUInt16(5), + reader.GetUInt16(6), reader.GetBoolean(7), reader.GetBoolean(8), reader.GetBoolean(9), reader.GetBoolean(10), reader.GetBoolean(11), reader.GetBoolean(12)); zoneList[zone.actorId] = zone; count1++; } diff --git a/FFXIVClassic Map Server/actors/Actor.cs b/FFXIVClassic Map Server/actors/Actor.cs index c4e5d034..4afe2ca2 100644 --- a/FFXIVClassic Map Server/actors/Actor.cs +++ b/FFXIVClassic Map Server/actors/Actor.cs @@ -41,7 +41,6 @@ namespace FFXIVClassic_Map_Server.Actors public List classParams; public List positionUpdates = new List(); - public DateTime lastAiUpdate; public DateTime lastMoveUpdate; public Actor target; @@ -371,6 +370,10 @@ namespace FFXIVClassic_Map_Server.Actors { ((Character)this).Update(deltaTime); } + else if (this is Zone) + { + ((Zone)this).Update(deltaTime); + } } public void GenerateActorName(int actorNumber) @@ -540,6 +543,7 @@ namespace FFXIVClassic_Map_Server.Actors return zoneId; } + // todo: do this properly public bool IsFacing(float x, float y) { var rot1 = this.rotation; @@ -554,6 +558,7 @@ namespace FFXIVClassic_Map_Server.Actors return rot1 == (float)dRot; } + // todo: do this properly public bool IsFacing(Actor target) { if (target == null) @@ -582,7 +587,7 @@ namespace FFXIVClassic_Map_Server.Actors } else { - Program.Log.Error("{0} {1} Actor.LookAt() unable to find actor!", actorId, actorName); + Program.Log.Error("[{0}][{1}] Actor.LookAt() unable to find actor!", actorId, actorName); } } @@ -603,6 +608,36 @@ namespace FFXIVClassic_Map_Server.Actors rotation = (float)dRot; } + + public void QueuePositionUpdate(utils.Vector3 pos) + { + if (positionUpdates == null) + positionUpdates = new List(); + + positionUpdates.Add(pos); + this.hasMoved = true; + } + + public void QueuePositionUpdate(float x, float y, float z) + { + QueuePositionUpdate(new utils.Vector3(x, y, z)); + } + + public void ClearPositionUpdates() + { + positionUpdates.Clear(); + } + + public utils.Vector3 FindRandomPointAroundActor(float minRadius, float maxRadius) + { + var angle = Program.Random.NextDouble() * Math.PI * 2; + var radius = Math.Sqrt(Program.Random.NextDouble() * (maxRadius - minRadius)) + minRadius; + + float x = (float)(radius * Math.Cos(angle)); + float z = (float)(radius * Math.Sin(angle)); + + return new utils.Vector3(positionX + x, positionY, positionZ + z); + } } } diff --git a/FFXIVClassic Map Server/actors/area/Zone.cs b/FFXIVClassic Map Server/actors/area/Zone.cs index 5772345a..e4aaea3e 100644 --- a/FFXIVClassic Map Server/actors/area/Zone.cs +++ b/FFXIVClassic Map Server/actors/area/Zone.cs @@ -24,23 +24,28 @@ namespace FFXIVClassic_Map_Server.actors.area public SharpNav.TiledNavMesh tiledNavMesh; public SharpNav.NavMeshQuery navMeshQuery; + public Int64 pathCalls; public Int64 pathCallTime; - public Zone(uint id, string zoneName, ushort regionId, string classPath, ushort bgmDay, ushort bgmNight, ushort bgmBattle, bool isIsolated, bool isInn, bool canRideChocobo, bool canStealth, bool isInstanceRaid) + protected DateTime lastUpdate; + + public Zone(uint id, string zoneName, ushort regionId, string classPath, ushort bgmDay, ushort bgmNight, ushort bgmBattle, bool isIsolated, bool isInn, bool canRideChocobo, bool canStealth, bool isInstanceRaid, bool loadNavMesh = false) : base(id, zoneName, regionId, classPath, bgmDay, bgmNight, bgmBattle, isIsolated, isInn, canRideChocobo, canStealth, isInstanceRaid) { - // central thanalan navmesh - if (id == 170) + var navMeshName = loadNavMesh ? zoneName + ".snb" : ""; + + if (navMeshName != "") { try { - //navMesh = utils.NavmeshUtils.LoadNavmesh("wil_w0_fld01.bin"); - tiledNavMesh = utils.NavmeshUtils.LoadNavmesh(tiledNavMesh, "wil_w0_fld01.snb"); + tiledNavMesh = utils.NavmeshUtils.LoadNavmesh(tiledNavMesh, navMeshName); navMeshQuery = new SharpNav.NavMeshQuery(tiledNavMesh, 100); - GC.Collect(2); + + if (tiledNavMesh != null) + Program.Log.Info($"Loaded navmesh for {zoneName}"); } - catch(Exception e) + catch (Exception e) { Program.Log.Error(e.Message); } @@ -161,5 +166,24 @@ namespace FFXIVClassic_Map_Server.actors.area } } + public void Update(double deltaTime) + { + // todo: again, this is retarded but debug stuff + var diffTime = DateTime.Now - lastUpdate; + + // arbitrary cap + if (diffTime.Milliseconds >= 33) + { + } + + if (diffTime.Seconds >= 10) + { + if (this.pathCalls > 0) + { + Program.Log.Error("Number of pathfinding calls {0} average time {1}", pathCalls, pathCallTime / pathCalls); + } + } + } + } } diff --git a/FFXIVClassic Map Server/actors/chara/Character.cs b/FFXIVClassic Map Server/actors/chara/Character.cs index b3d79aeb..0c2c5e1d 100644 --- a/FFXIVClassic Map Server/actors/chara/Character.cs +++ b/FFXIVClassic Map Server/actors/chara/Character.cs @@ -60,6 +60,8 @@ namespace FFXIVClassic_Map_Server.Actors public Group currentParty = null; public ContentGroup currentContentGroup = null; + public DateTime lastAiUpdate; + public Character(uint actorID) : base(actorID) { //Init timer array to "notimer" @@ -150,10 +152,11 @@ namespace FFXIVClassic_Map_Server.Actors sw.Stop(); ((Zone)zone).pathCalls++; ((Zone)zone).pathCallTime += sw.ElapsedMilliseconds; - if (path.Count == 1) - Program.Log.Error($"mypos: {positionX} {positionY} {positionZ} | targetPos: {x} {y} {z} | step {stepSize} | maxPath {maxPath} | polyRadius {polyRadius}"); - Program.Log.Error("[{0}][{1}] Created {2} points in {3} milliseconds", actorId, actorName, path.Count, sw.ElapsedMilliseconds); + if (path.Count == 1) + Program.Log.Info($"mypos: {positionX} {positionY} {positionZ} | targetPos: {x} {y} {z} | step {stepSize} | maxPath {maxPath} | polyRadius {polyRadius}"); + + //Program.Log.Error("[{0}][{1}] Created {2} points in {3} milliseconds", actorId, actorName, path.Count, sw.ElapsedMilliseconds); } } @@ -210,6 +213,11 @@ namespace FFXIVClassic_Map_Server.Actors public void Update(double deltaTime) { + // todo: actual ai controllers + // todo: mods to control different params instead of hardcode + // todo: other ai helpers + + // time elapsed since last ai update var diffTime = (DateTime.Now - lastAiUpdate); if (this is Player) @@ -235,106 +243,89 @@ namespace FFXIVClassic_Map_Server.Actors { var spawnDistance = Utils.Distance(positionX, positionY, positionZ, oldPositionX, oldPositionY, oldPositionZ); - // despawn if too far from spawn so client can reload me - if (spawnDistance >= 64.4) - { - despawnOutOfRange = true; - - if (target != null) - { - var player = target as Player; - - // target zoned, deaggro - target = null; - - // tell player to despawn us and we can move back to spawn - if (player != null) - { - // make sure we dont tell player to despawn us twice - targId = player.actorId; - //player.QueuePacket(RemoveActorPacket.BuildPacket(player.actorId, actorId)); - } - } - this.isMovingToSpawn = true; - this.positionUpdates.Clear(); - this.lastMoveUpdate = this.lastMoveUpdate.AddSeconds(-5); - } + // todo: actual spawn leash and modifiers read from table // set a leash to path back to spawn even if have target - else if (spawnDistance >= 55) + if (spawnDistance >= 55) { this.isMovingToSpawn = true; this.target = null; - this.positionUpdates.Clear(); this.lastMoveUpdate = this.lastMoveUpdate.AddSeconds(-5); + ClearPositionUpdates(); } } + + // check if player + if (target != null && target is Player) + { + var player = target as Player; + + // deaggro if zoning/logging + if (player.playerSession.isUpdatesLocked || player.isZoneChanging || player.isZoning) + { + target = null; + ClearPositionUpdates(); + } + } + Player closestPlayer = null; float closestPlayerDistance = 1000.0f; - foreach (var actor in zone.GetActorsAroundActor(this, 65)) + // dont bother checking for any in-range players if going back to spawn + if (!this.isMovingToSpawn) { - if (actor is Player && actor != this) + foreach (var actor in zone.GetActorsAroundActor(this, 65)) { - var player = actor as Player; - - // dont despawn again if we already told target to despawn us - if (despawnOutOfRange && player.actorId != targId) + if (actor is Player && actor != this) { - //player.QueuePacket(RemoveActorPacket.BuildPacket(player.actorId, this.actorId)); - continue; + var player = actor as Player; + + // skip if zoning/logging + if (player != null && player.isZoning || player.isZoning || player.playerSession.isUpdatesLocked) + continue; + + // find distance between self and target + var distance = Utils.Distance(positionX, positionY, positionZ, player.positionX, player.positionY, player.positionZ); + + int maxDistance = player == target ? 27 : 10; + + // check target isnt too far + // todo: create cone thing for IsFacing + if (distance <= maxDistance && distance <= closestPlayerDistance && (IsFacing(player) || true)) + { + closestPlayerDistance = distance; + closestPlayer = player; + foundActor = true; + } } + } - // dont aggro if moving to spawn - if (this.isMovingToSpawn) - continue; - - // find distance between self and target - var distance = Utils.Distance(positionX, positionY, positionZ, player.positionX, player.positionY, player.positionZ); - - int maxDistance = player == target ? 27 : 10; - - // check target isnt too far - // todo: create cone thing for IsFacing - if (distance <= maxDistance && distance <= closestPlayerDistance && (IsFacing(player) || true)) + // found a target + if (foundActor) + { + // make sure we're not already moving so we dont spam packets + if (!hasMoved) { - closestPlayerDistance = distance; - closestPlayer = player; - foundActor = true; + // todo: include model size and mob specific distance checks + if (closestPlayerDistance >= 3) + { + FollowTarget(closestPlayer, 2.4f, 5); + } + // too close, spread out + else if (closestPlayerDistance <= 0.64f) + { + QueuePositionUpdate(target.FindRandomPointAroundActor(0.65f, 0.85f)); + } + + // we have a target, face them + if (target != null) + { + LookAt(target); + } } } } - if (foundActor) - { - if (!hasMoved) - { - if (closestPlayerDistance >= 3) - { - FollowTarget(closestPlayer, 2.4f, 5); - } - // too close, spread out - else if (closestPlayerDistance <= 0.64f) - { - var minRadius = 0.65f; - var maxRadius = 0.85f; - - var angle = Program.Random.NextDouble() * Math.PI * 2; - var radius = Math.Sqrt(Program.Random.NextDouble() * (maxRadius - minRadius)) + minRadius; - - float x = (float)(radius * Math.Cos(angle)); - float z = (float)(radius * Math.Sin(angle)); - - positionUpdates.Add(new utils.Vector3(positionX + x, positionY, positionZ + z)); - - hasMoved = true; - } - - if (target != null) - { - LookAt(target); - } - } - } + // time elapsed since last move update var diffMove = (DateTime.Now - lastMoveUpdate); // player disappeared @@ -357,6 +348,7 @@ namespace FFXIVClassic_Map_Server.Actors // within spawn range, find a random point else if (diffMove.Seconds >= 15 && !hasMoved) { + // pick a random point within 10 yalms or spawn PathTo(oldPositionX, oldPositionY, oldPositionZ, 2.5f, 7, 10.5f); // face destination @@ -377,6 +369,7 @@ namespace FFXIVClassic_Map_Server.Actors // todo: this is retarded. actually no it isnt, i didnt deaggro if out of range.. target = null; } + // update last ai update time to now lastAiUpdate = DateTime.Now; } } diff --git a/FFXIVClassic Map Server/dataobjects/Session.cs b/FFXIVClassic Map Server/dataobjects/Session.cs index ccc83251..c111c09f 100644 --- a/FFXIVClassic Map Server/dataobjects/Session.cs +++ b/FFXIVClassic Map Server/dataobjects/Session.cs @@ -120,8 +120,6 @@ namespace FFXIVClassic_Map_Server.dataobjects } - // todo: this is retarded (checking moved crap demo added) - bool checkedThisTick = false; //Add new actors or move for (int i = 0; i < list.Count; i++) { @@ -137,17 +135,6 @@ namespace FFXIVClassic_Map_Server.dataobjects if (actor is Character && !actor.hasMoved) continue; - // todo: again, this is retarded but debug stuff - var zone = (actors.area.Zone)actor.zone; - if(zone != null && !checkedThisTick) - { - if (zone.pathCalls > 0) - { - checkedThisTick = true; - Program.Log.Error("Number of pathfinding calls {0} average time {1}", zone.pathCalls, zone.pathCallTime / zone.pathCalls); - } - } - var packet = actor.CreatePositionUpdatePacket(playerActor.actorId); if (packet != null) diff --git a/FFXIVClassic Map Server/navmesh/SHARPNAV_LICENSE b/FFXIVClassic Map Server/navmesh/SHARPNAV_LICENSE new file mode 100644 index 00000000..bfec8b95 --- /dev/null +++ b/FFXIVClassic Map Server/navmesh/SHARPNAV_LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2013-2016 Robert Rouhani and other contributors (see CONTRIBUTORS file). + +SharpNav contains some altered source code from Recast Navigation, Copyright (c) 2009 Mikko Mononen memon@inside.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/FFXIVClassic Map Server/navmesh/SharpNav.dll b/FFXIVClassic Map Server/navmesh/SharpNav.dll index 3c648e5c..e53d6c97 100644 Binary files a/FFXIVClassic Map Server/navmesh/SharpNav.dll and b/FFXIVClassic Map Server/navmesh/SharpNav.dll differ diff --git a/FFXIVClassic Map Server/navmesh/wil0Field01.snb b/FFXIVClassic Map Server/navmesh/wil0Field01.snb new file mode 100644 index 00000000..2b42f353 Binary files /dev/null and b/FFXIVClassic Map Server/navmesh/wil0Field01.snb differ diff --git a/FFXIVClassic Map Server/utils/NavmeshUtils.cs b/FFXIVClassic Map Server/utils/NavmeshUtils.cs index a39bd752..ae1f9907 100644 --- a/FFXIVClassic Map Server/utils/NavmeshUtils.cs +++ b/FFXIVClassic Map Server/utils/NavmeshUtils.cs @@ -97,7 +97,7 @@ namespace FFXIVClassic_Map_Server.utils public static SharpNav.TiledNavMesh LoadNavmesh(TiledNavMesh navmesh, string filePath) { var serialiser = new SharpNav.IO.Json.NavMeshJsonSerializer(); - return serialiser.Deserialize(filePath); + return serialiser.Deserialize(System.IO.Path.Combine("../../navmesh/", filePath)); //return navmesh = new SharpNav.IO.Json.NavMeshJsonSerializer().Deserialize(filePath); } @@ -110,7 +110,14 @@ namespace FFXIVClassic_Map_Server.utils var navMesh = zone.tiledNavMesh; var navMeshQuery = zone.navMeshQuery; - if (navMesh == null || (startVec.X == endVec.X && startVec.Y == endVec.Y && startVec.Z == endVec.Z && polyRadius == 0.0f)) + // no navmesh loaded, run straight to player + if (navMesh == null) + { + return new List() { endVec }; + } + + // no need to waste cycles finding path to same point + if (startVec.X == endVec.X && startVec.Y == endVec.Y && startVec.Z == endVec.Z && polyRadius == 0.0f) { return null; } @@ -226,7 +233,7 @@ namespace FFXIVClassic_Map_Server.utils Program.Log.Error(e.Message); Program.Log.Error("Start pos {0} {1} {2} end pos {3} {4} {5}", startVec.X, startVec.Y, startVec.Z, endVec.X, endVec.Y, endVec.Z); // todo: probably log this - return new List() { }; + return new List() { endVec }; } return smoothPath; } diff --git a/sql/server_zones.sql b/sql/server_zones.sql index 86964759..16f14d9b 100644 --- a/sql/server_zones.sql +++ b/sql/server_zones.sql @@ -1,146 +1,177 @@ -/* -MySQL Data Transfer -Source Host: localhost -Source Database: ffxiv_server -Target Host: localhost -Target Database: ffxiv_server -Date: 6/14/2017 10:19:40 PM -*/ +-- MySQL dump 10.13 Distrib 5.7.18, for Win64 (x86_64) +-- +-- Host: localhost Database: ffxiv_server +-- ------------------------------------------------------ +-- Server version 5.7.18-log -SET FOREIGN_KEY_CHECKS=0; --- ---------------------------- --- Table structure for server_zones --- ---------------------------- -CREATE TABLE `server_zones` ( - `id` int(10) unsigned NOT NULL, - `regionId` smallint(6) unsigned NOT NULL, - `zoneName` varchar(255) DEFAULT NULL, - `placeName` varchar(255) NOT NULL, - `serverIp` varchar(32) NOT NULL, - `serverPort` int(10) unsigned NOT NULL, - `classPath` varchar(255) NOT NULL, - `dayMusic` smallint(6) unsigned DEFAULT '0', - `nightMusic` smallint(6) unsigned DEFAULT '0', - `battleMusic` smallint(6) unsigned DEFAULT '0', - `isIsolated` tinyint(1) DEFAULT '0', - `isInn` tinyint(1) DEFAULT '0', - `canRideChocobo` tinyint(1) DEFAULT '1', - `canStealth` tinyint(1) DEFAULT '0', - `isInstanceRaid` tinyint(1) unsigned DEFAULT '0', - PRIMARY KEY (`id`) +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Table structure for table `server_zones` +-- + +DROP TABLE IF EXISTS `server_zones`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `server_zones` ( + `id` int(10) unsigned NOT NULL, + `regionId` smallint(6) unsigned NOT NULL, + `zoneName` varchar(255) DEFAULT NULL, + `placeName` varchar(255) NOT NULL, + `serverIp` varchar(32) NOT NULL, + `serverPort` int(10) unsigned NOT NULL, + `classPath` varchar(255) NOT NULL, + `dayMusic` smallint(6) unsigned DEFAULT '0', + `nightMusic` smallint(6) unsigned DEFAULT '0', + `battleMusic` smallint(6) unsigned DEFAULT '0', + `isIsolated` tinyint(1) DEFAULT '0', + `isInn` tinyint(1) DEFAULT '0', + `canRideChocobo` tinyint(1) DEFAULT '1', + `canStealth` tinyint(1) DEFAULT '0', + `isInstanceRaid` tinyint(1) unsigned DEFAULT '0', + `loadNavMesh` tinyint(1) NOT NULL, + PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; --- ---------------------------- --- Records --- ---------------------------- -INSERT INTO `server_zones` VALUES ('0', '0', null, '--', '127.0.0.1', '1989', '', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('128', '101', 'sea0Field01', 'Lower La Noscea', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterSeaS0', '60', '60', '21', '0', '0', '1', '0', '0'); -INSERT INTO `server_zones` VALUES ('129', '101', 'sea0Field02', 'Western La Noscea', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterSeaS0', '60', '60', '21', '0', '0', '1', '0', '0'); -INSERT INTO `server_zones` VALUES ('130', '101', 'sea0Field03', 'Eastern La Noscea', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterSeaS0', '60', '60', '21', '0', '0', '1', '0', '0'); -INSERT INTO `server_zones` VALUES ('131', '101', 'sea0Dungeon01', 'Mistbeard Cove', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterSeaS0', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('132', '101', 'sea0Dungeon03', 'Cassiopeia Hollow', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterSeaS0', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('133', '101', 'sea0Town01', 'Limsa Lominsa', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterSeaS0', '59', '59', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('134', '202', 'sea0Market01', 'Market Wards', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterMarketSeaS0', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('135', '101', 'sea0Field04', 'Upper La Noscea', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterSeaS0', '60', '60', '21', '0', '0', '1', '0', '0'); -INSERT INTO `server_zones` VALUES ('137', '101', 'sea0Dungeon06', 'U\'Ghamaro Mines', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterSeaS0', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('138', '101', null, 'La Noscea', '127.0.0.1', '1989', '', '60', '60', '21', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('139', '112', 'sea0Field01a', 'The Cieldalaes', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterSeaS0', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('140', '101', null, 'Sailors Ward', '127.0.0.1', '1989', '', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('141', '101', 'sea0Field01a', 'Lower La Noscea', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterSeaS0', '60', '60', '21', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('143', '102', 'roc0Field01', 'Coerthas Central Highlands', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterRocR0', '55', '55', '15', '0', '0', '1', '0', '0'); -INSERT INTO `server_zones` VALUES ('144', '102', 'roc0Field02', 'Coerthas Eastern Highlands', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterRocR0', '55', '55', '15', '0', '0', '1', '0', '0'); -INSERT INTO `server_zones` VALUES ('145', '102', 'roc0Field03', 'Coerthas Eastern Lowlands', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterRocR0', '55', '55', '15', '0', '0', '1', '0', '0'); -INSERT INTO `server_zones` VALUES ('146', '102', null, 'Coerthas', '127.0.0.1', '1989', '', '55', '55', '15', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('147', '102', 'roc0Field04', 'Coerthas Central Lowlands', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterRocR0', '55', '55', '15', '0', '0', '1', '0', '0'); -INSERT INTO `server_zones` VALUES ('148', '102', 'roc0Field05', 'Coerthas Western Highlands', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterRocR0', '55', '55', '15', '0', '0', '1', '0', '0'); -INSERT INTO `server_zones` VALUES ('150', '103', 'fst0Field01', 'Central Shroud', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterFstF0', '52', '52', '13', '0', '0', '1', '0', '0'); -INSERT INTO `server_zones` VALUES ('151', '103', 'fst0Field02', 'East Shroud', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterFstF0', '52', '52', '13', '0', '0', '1', '0', '0'); -INSERT INTO `server_zones` VALUES ('152', '103', 'fst0Field03', 'North Shroud', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterFstF0', '52', '52', '13', '0', '0', '1', '0', '0'); -INSERT INTO `server_zones` VALUES ('153', '103', 'fst0Field04', 'West Shroud', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterFstF0', '52', '52', '13', '0', '0', '1', '0', '0'); -INSERT INTO `server_zones` VALUES ('154', '103', 'fst0Field05', 'South Shroud', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterFstF0', '52', '52', '13', '0', '0', '1', '0', '0'); -INSERT INTO `server_zones` VALUES ('155', '103', 'fst0Town01', 'Gridania', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterFstF0', '51', '51', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('156', '103', null, 'The Black Shroud', '127.0.0.1', '1989', '', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('157', '103', 'fst0Dungeon01', 'The Mun-Tuy Cellars', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterFstF0', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('158', '103', 'fst0Dungeon02', 'The Tam-Tara Deepcroft', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterFstF0', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('159', '103', 'fst0Dungeon03', 'The Thousand Maws of Toto-Rak', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterFstF0', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('160', '204', 'fst0Market01', 'Market Wards', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterMarketFstF0', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('161', '103', null, 'Peasants Ward', '127.0.0.1', '1989', '', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('162', '103', 'fst0Field01a', 'Central Shroud', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterFstF0', '52', '52', '13', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('164', '106', 'fst0Battle01', 'Central Shroud', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterBattleFstF0', '0', '0', '13', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('165', '106', 'fst0Battle02', 'Central Shroud', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterBattleFstF0', '0', '0', '13', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('166', '106', 'fst0Battle03', 'Central Shroud', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterBattleFstF0', '0', '0', '13', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('167', '106', 'fst0Battle04', 'Central Shroud', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterBattleFstF0', '0', '0', '13', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('168', '106', 'fst0Battle05', 'Central Shroud', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterBattleFstF0', '0', '0', '13', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('170', '104', 'wil0Field01', 'Central Thanalan', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterWilW0', '68', '68', '25', '0', '0', '1', '0', '0'); -INSERT INTO `server_zones` VALUES ('171', '104', 'wil0Field02', 'Eastern Thanalan', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterWilW0', '68', '68', '25', '0', '0', '1', '0', '0'); -INSERT INTO `server_zones` VALUES ('172', '104', 'wil0Field03', 'Western Thanalan', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterWilW0', '68', '68', '25', '0', '0', '1', '0', '0'); -INSERT INTO `server_zones` VALUES ('173', '104', 'wil0Field04', 'Northern Thanalan', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterWilW0', '68', '68', '25', '0', '0', '1', '0', '0'); -INSERT INTO `server_zones` VALUES ('174', '104', 'wil0Field05', 'Southern Thanalan', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterWilW0', '68', '68', '25', '0', '0', '1', '0', '0'); -INSERT INTO `server_zones` VALUES ('175', '104', 'wil0Town01', 'Ul\'dah', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterWilW0', '66', '66', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('176', '104', 'wil0Dungeon02', 'Nanawa Mines', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterWilW0', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('177', '207', '_jail', '-', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterJail', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('178', '104', 'wil0Dungeon04', 'Copperbell Mines', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterWilW0', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('179', '104', null, 'Thanalan', '127.0.0.1', '1989', '', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('180', '205', 'wil0Market01', 'Market Wards', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterMarketWilW0', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('181', '104', null, 'Merchants Ward', '127.0.0.1', '1989', '', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('182', '104', null, 'Central Thanalan', '127.0.0.1', '1989', '', '68', '68', '25', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('184', '107', 'wil0Battle01', 'Ul\'dah', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterBattleWilW0', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('185', '107', 'wil0Battle01', 'Ul\'dah', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterBattleWilW0', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('186', '104', 'wil0Battle02', 'Ul\'dah', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterBattleWilW0', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('187', '104', 'wil0Battle03', 'Ul\'dah', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterBattleWilW0', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('188', '104', 'wil0Battle04', 'Ul\'dah', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterBattleWilW0', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('190', '105', 'lak0Field01', 'Mor Dhona', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterLakL0', '49', '49', '11', '0', '0', '1', '0', '0'); -INSERT INTO `server_zones` VALUES ('192', '112', 'ocn1Battle01', 'Rhotano Sea', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterBattleOcnO1', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('193', '111', 'ocn0Battle02', 'Rhotano Sea', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterBattleOcnO0', '7', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('194', '112', 'ocn1Battle03', 'Rhotano Sea', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterBattleOcnO1', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('195', '112', 'ocn1Battle04', 'Rhotano Sea', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterBattleOcnO1', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('196', '112', 'ocn1Battle05', 'Rhotano Sea', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterBattleOcnO1', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('198', '112', 'ocn1Battle06', 'Rhotano Sea', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterBattleOcnO1', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('200', '805', 'sea1Cruise01', 'Strait of Merlthor', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterCruiseSeaS1', '65', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('201', '208', 'prv0Cottage00', '-', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterCottagePrv00', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('204', '101', 'sea0Field02a', 'Western La Noscea', '127.0.0.1', '1989', '', '60', '60', '21', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('205', '101', 'sea0Field03a', 'Eastern La Noscea', '127.0.0.1', '1989', '', '60', '60', '21', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('206', '103', 'fst0Town01a', 'Gridania', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterFstF0', '51', '51', '13', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('207', '103', 'fst0Field03a', 'North Shroud', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterFstF0', '52', '52', '13', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('208', '103', 'fst0Field05a', 'South Shroud', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterFstF0', '52', '52', '13', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('209', '104', 'wil0Town01a', 'Ul\'dah', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterWilW0', '66', '66', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('210', '104', null, 'Eastern Thanalan', '127.0.0.1', '1989', '', '68', '68', '25', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('211', '104', null, 'Western Thanalan', '127.0.0.1', '1989', '', '68', '68', '25', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('230', '101', 'sea0Town01a', 'Limsa Lominsa', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterSeaS0', '59', '59', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('231', '102', 'roc0Dungeon01', 'Dzemael Darkhold', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterRocR0', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('232', '202', 'sea0Office01', 'Maelstrom Command', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterOfficeSeaS0', '3', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('233', '205', 'wil0Office01', 'Hall of Flames', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterOfficeWilW0', '4', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('234', '204', 'fst0Office01', 'Adders\' Nest', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterOfficeFstF0', '2', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('235', '101', null, 'Shposhae', '127.0.0.1', '1989', '', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('236', '101', 'sea1Field01', 'Locke\'s Lie', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterSeaS1', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('237', '101', null, 'Turtleback Island', '127.0.0.1', '1989', '', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('238', '103', 'fst0Field04', 'Thornmarch', '127.0.0.1', '1989', '', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('239', '102', 'roc0Field02a', 'The Howling Eye', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterRocR0', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('240', '104', 'wil0Field05a', 'The Bowl of Embers', '127.0.0.1', '1989', '', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('244', '209', 'prv0Inn01', 'Inn Room', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterPrvI0', '61', '61', '0', '0', '1', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('245', '102', 'roc0Dungeon04', 'The Aurum Vale', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterRocR0', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('246', '104', null, 'Cutter\'s Cry', '127.0.0.1', '1989', '', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('247', '103', null, 'North Shroud', '127.0.0.1', '1989', '', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('248', '101', null, 'Western La Noscea', '127.0.0.1', '1989', '', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('249', '104', null, 'Eastern Thanalan', '127.0.0.1', '1989', '', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('250', '102', 'roc0Field02a', 'The Howling Eye', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterRocR0', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('251', '105', null, 'Transmission Tower', '127.0.0.1', '1989', '', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('252', '102', 'roc0Dungeon04', 'The Aurum Vale', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterRocR0', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('253', '102', 'roc0Dungeon04', 'The Aurum Vale', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterRocR0', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('254', '104', null, 'Cutter\'s Cry', '127.0.0.1', '1989', '', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('255', '104', null, 'Cutter\'s Cry', '127.0.0.1', '1989', '', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('256', '102', 'roc0Field02a', 'The Howling Eye', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterRocR0', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('257', '109', 'roc1Field01', 'Rivenroad', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterRocR1', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('258', '103', null, 'North Shroud', '127.0.0.1', '1989', '', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('259', '103', null, 'North Shroud', '127.0.0.1', '1989', '', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('260', '101', null, 'Western La Noscea', '127.0.0.1', '1989', '', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('261', '101', null, 'Western La Noscea', '127.0.0.1', '1989', '', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('262', '104', null, 'Eastern Thanalan', '127.0.0.1', '1989', '', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('263', '104', null, 'Eastern Thanalan', '127.0.0.1', '1989', '', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('264', '105', 'lak0Field01', 'Transmission Tower', '127.0.0.1', '1989', '', '0', '0', '0', '0', '0', '1', '0', '0'); -INSERT INTO `server_zones` VALUES ('265', '104', null, 'The Bowl of Embers', '127.0.0.1', '1989', '', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('266', '105', 'lak0Field01a', 'Mor Dhona', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterLakL0', '49', '49', '11', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('267', '109', 'roc1Field02', 'Rivenroad', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterRocR1', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('268', '109', 'roc1Field03', 'Rivenroad', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterRocR1', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('269', '101', null, 'Locke\'s Lie', '127.0.0.1', '1989', '', '0', '0', '0', '0', '0', '0', '0', '0'); -INSERT INTO `server_zones` VALUES ('270', '101', null, 'Turtleback Island', '127.0.0.1', '1989', '', '0', '0', '0', '0', '0', '0', '0', '0'); +-- +-- Dumping data for table `server_zones` +-- + +LOCK TABLES `server_zones` WRITE; +/*!40000 ALTER TABLE `server_zones` DISABLE KEYS */; +set autocommit=0; +INSERT INTO `server_zones` VALUES (0,0,NULL,'--','127.0.0.1',1989,'',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (128,101,'sea0Field01','Lower La Noscea','127.0.0.1',1989,'/Area/Zone/ZoneMasterSeaS0',60,60,21,0,0,1,0,0,0); +INSERT INTO `server_zones` VALUES (129,101,'sea0Field02','Western La Noscea','127.0.0.1',1989,'/Area/Zone/ZoneMasterSeaS0',60,60,21,0,0,1,0,0,0); +INSERT INTO `server_zones` VALUES (130,101,'sea0Field03','Eastern La Noscea','127.0.0.1',1989,'/Area/Zone/ZoneMasterSeaS0',60,60,21,0,0,1,0,0,0); +INSERT INTO `server_zones` VALUES (131,101,'sea0Dungeon01','Mistbeard Cove','127.0.0.1',1989,'/Area/Zone/ZoneMasterSeaS0',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (132,101,'sea0Dungeon03','Cassiopeia Hollow','127.0.0.1',1989,'/Area/Zone/ZoneMasterSeaS0',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (133,101,'sea0Town01','Limsa Lominsa','127.0.0.1',1989,'/Area/Zone/ZoneMasterSeaS0',59,59,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (134,202,'sea0Market01','Market Wards','127.0.0.1',1989,'/Area/Zone/ZoneMasterMarketSeaS0',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (135,101,'sea0Field04','Upper La Noscea','127.0.0.1',1989,'/Area/Zone/ZoneMasterSeaS0',60,60,21,0,0,1,0,0,0); +INSERT INTO `server_zones` VALUES (137,101,'sea0Dungeon06','U\'Ghamaro Mines','127.0.0.1',1989,'/Area/Zone/ZoneMasterSeaS0',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (138,101,NULL,'La Noscea','127.0.0.1',1989,'',60,60,21,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (139,112,'sea0Field01a','The Cieldalaes','127.0.0.1',1989,'/Area/Zone/ZoneMasterSeaS0',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (140,101,NULL,'Sailors Ward','127.0.0.1',1989,'',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (141,101,'sea0Field01a','Lower La Noscea','127.0.0.1',1989,'/Area/Zone/ZoneMasterSeaS0',60,60,21,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (143,102,'roc0Field01','Coerthas Central Highlands','127.0.0.1',1989,'/Area/Zone/ZoneMasterRocR0',55,55,15,0,0,1,0,0,0); +INSERT INTO `server_zones` VALUES (144,102,'roc0Field02','Coerthas Eastern Highlands','127.0.0.1',1989,'/Area/Zone/ZoneMasterRocR0',55,55,15,0,0,1,0,0,0); +INSERT INTO `server_zones` VALUES (145,102,'roc0Field03','Coerthas Eastern Lowlands','127.0.0.1',1989,'/Area/Zone/ZoneMasterRocR0',55,55,15,0,0,1,0,0,0); +INSERT INTO `server_zones` VALUES (146,102,NULL,'Coerthas','127.0.0.1',1989,'',55,55,15,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (147,102,'roc0Field04','Coerthas Central Lowlands','127.0.0.1',1989,'/Area/Zone/ZoneMasterRocR0',55,55,15,0,0,1,0,0,0); +INSERT INTO `server_zones` VALUES (148,102,'roc0Field05','Coerthas Western Highlands','127.0.0.1',1989,'/Area/Zone/ZoneMasterRocR0',55,55,15,0,0,1,0,0,0); +INSERT INTO `server_zones` VALUES (150,103,'fst0Field01','Central Shroud','127.0.0.1',1989,'/Area/Zone/ZoneMasterFstF0',52,52,13,0,0,1,0,0,0); +INSERT INTO `server_zones` VALUES (151,103,'fst0Field02','East Shroud','127.0.0.1',1989,'/Area/Zone/ZoneMasterFstF0',52,52,13,0,0,1,0,0,0); +INSERT INTO `server_zones` VALUES (152,103,'fst0Field03','North Shroud','127.0.0.1',1989,'/Area/Zone/ZoneMasterFstF0',52,52,13,0,0,1,0,0,0); +INSERT INTO `server_zones` VALUES (153,103,'fst0Field04','West Shroud','127.0.0.1',1989,'/Area/Zone/ZoneMasterFstF0',52,52,13,0,0,1,0,0,0); +INSERT INTO `server_zones` VALUES (154,103,'fst0Field05','South Shroud','127.0.0.1',1989,'/Area/Zone/ZoneMasterFstF0',52,52,13,0,0,1,0,0,0); +INSERT INTO `server_zones` VALUES (155,103,'fst0Town01','Gridania','127.0.0.1',1989,'/Area/Zone/ZoneMasterFstF0',51,51,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (156,103,NULL,'The Black Shroud','127.0.0.1',1989,'',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (157,103,'fst0Dungeon01','The Mun-Tuy Cellars','127.0.0.1',1989,'/Area/Zone/ZoneMasterFstF0',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (158,103,'fst0Dungeon02','The Tam-Tara Deepcroft','127.0.0.1',1989,'/Area/Zone/ZoneMasterFstF0',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (159,103,'fst0Dungeon03','The Thousand Maws of Toto-Rak','127.0.0.1',1989,'/Area/Zone/ZoneMasterFstF0',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (160,204,'fst0Market01','Market Wards','127.0.0.1',1989,'/Area/Zone/ZoneMasterMarketFstF0',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (161,103,NULL,'Peasants Ward','127.0.0.1',1989,'',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (162,103,'fst0Field01a','Central Shroud','127.0.0.1',1989,'/Area/Zone/ZoneMasterFstF0',52,52,13,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (164,106,'fst0Battle01','Central Shroud','127.0.0.1',1989,'/Area/Zone/ZoneMasterBattleFstF0',0,0,13,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (165,106,'fst0Battle02','Central Shroud','127.0.0.1',1989,'/Area/Zone/ZoneMasterBattleFstF0',0,0,13,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (166,106,'fst0Battle03','Central Shroud','127.0.0.1',1989,'/Area/Zone/ZoneMasterBattleFstF0',0,0,13,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (167,106,'fst0Battle04','Central Shroud','127.0.0.1',1989,'/Area/Zone/ZoneMasterBattleFstF0',0,0,13,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (168,106,'fst0Battle05','Central Shroud','127.0.0.1',1989,'/Area/Zone/ZoneMasterBattleFstF0',0,0,13,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (170,104,'wil0Field01','Central Thanalan','127.0.0.1',1989,'/Area/Zone/ZoneMasterWilW0',68,68,25,0,0,1,0,0,0); +INSERT INTO `server_zones` VALUES (171,104,'wil0Field02','Eastern Thanalan','127.0.0.1',1989,'/Area/Zone/ZoneMasterWilW0',68,68,25,0,0,1,0,0,0); +INSERT INTO `server_zones` VALUES (172,104,'wil0Field03','Western Thanalan','127.0.0.1',1989,'/Area/Zone/ZoneMasterWilW0',68,68,25,0,0,1,0,0,0); +INSERT INTO `server_zones` VALUES (173,104,'wil0Field04','Northern Thanalan','127.0.0.1',1989,'/Area/Zone/ZoneMasterWilW0',68,68,25,0,0,1,0,0,0); +INSERT INTO `server_zones` VALUES (174,104,'wil0Field05','Southern Thanalan','127.0.0.1',1989,'/Area/Zone/ZoneMasterWilW0',68,68,25,0,0,1,0,0,0); +INSERT INTO `server_zones` VALUES (175,104,'wil0Town01','Ul\'dah','127.0.0.1',1989,'/Area/Zone/ZoneMasterWilW0',66,66,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (176,104,'wil0Dungeon02','Nanawa Mines','127.0.0.1',1989,'/Area/Zone/ZoneMasterWilW0',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (177,207,'_jail','-','127.0.0.1',1989,'/Area/Zone/ZoneMasterJail',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (178,104,'wil0Dungeon04','Copperbell Mines','127.0.0.1',1989,'/Area/Zone/ZoneMasterWilW0',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (179,104,NULL,'Thanalan','127.0.0.1',1989,'',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (180,205,'wil0Market01','Market Wards','127.0.0.1',1989,'/Area/Zone/ZoneMasterMarketWilW0',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (181,104,NULL,'Merchants Ward','127.0.0.1',1989,'',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (182,104,NULL,'Central Thanalan','127.0.0.1',1989,'',68,68,25,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (184,107,'wil0Battle01','Ul\'dah','127.0.0.1',1989,'/Area/Zone/ZoneMasterBattleWilW0',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (185,107,'wil0Battle01','Ul\'dah','127.0.0.1',1989,'/Area/Zone/ZoneMasterBattleWilW0',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (186,104,'wil0Battle02','Ul\'dah','127.0.0.1',1989,'/Area/Zone/ZoneMasterBattleWilW0',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (187,104,'wil0Battle03','Ul\'dah','127.0.0.1',1989,'/Area/Zone/ZoneMasterBattleWilW0',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (188,104,'wil0Battle04','Ul\'dah','127.0.0.1',1989,'/Area/Zone/ZoneMasterBattleWilW0',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (190,105,'lak0Field01','Mor Dhona','127.0.0.1',1989,'/Area/Zone/ZoneMasterLakL0',49,49,11,0,0,1,0,0,0); +INSERT INTO `server_zones` VALUES (192,112,'ocn1Battle01','Rhotano Sea','127.0.0.1',1989,'/Area/Zone/ZoneMasterBattleOcnO1',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (193,111,'ocn0Battle02','Rhotano Sea','127.0.0.1',1989,'/Area/Zone/ZoneMasterBattleOcnO0',7,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (194,112,'ocn1Battle03','Rhotano Sea','127.0.0.1',1989,'/Area/Zone/ZoneMasterBattleOcnO1',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (195,112,'ocn1Battle04','Rhotano Sea','127.0.0.1',1989,'/Area/Zone/ZoneMasterBattleOcnO1',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (196,112,'ocn1Battle05','Rhotano Sea','127.0.0.1',1989,'/Area/Zone/ZoneMasterBattleOcnO1',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (198,112,'ocn1Battle06','Rhotano Sea','127.0.0.1',1989,'/Area/Zone/ZoneMasterBattleOcnO1',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (200,805,'sea1Cruise01','Strait of Merlthor','127.0.0.1',1989,'/Area/Zone/ZoneMasterCruiseSeaS1',65,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (201,208,'prv0Cottage00','-','127.0.0.1',1989,'/Area/Zone/ZoneMasterCottagePrv00',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (204,101,'sea0Field02a','Western La Noscea','127.0.0.1',1989,'',60,60,21,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (205,101,'sea0Field03a','Eastern La Noscea','127.0.0.1',1989,'',60,60,21,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (206,103,'fst0Town01a','Gridania','127.0.0.1',1989,'/Area/Zone/ZoneMasterFstF0',51,51,13,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (207,103,'fst0Field03a','North Shroud','127.0.0.1',1989,'/Area/Zone/ZoneMasterFstF0',52,52,13,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (208,103,'fst0Field05a','South Shroud','127.0.0.1',1989,'/Area/Zone/ZoneMasterFstF0',52,52,13,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (209,104,'wil0Town01a','Ul\'dah','127.0.0.1',1989,'/Area/Zone/ZoneMasterWilW0',66,66,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (210,104,NULL,'Eastern Thanalan','127.0.0.1',1989,'',68,68,25,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (211,104,NULL,'Western Thanalan','127.0.0.1',1989,'',68,68,25,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (230,101,'sea0Town01a','Limsa Lominsa','127.0.0.1',1989,'/Area/Zone/ZoneMasterSeaS0',59,59,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (231,102,'roc0Dungeon01','Dzemael Darkhold','127.0.0.1',1989,'/Area/Zone/ZoneMasterRocR0',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (232,202,'sea0Office01','Maelstrom Command','127.0.0.1',1989,'/Area/Zone/ZoneMasterOfficeSeaS0',3,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (233,205,'wil0Office01','Hall of Flames','127.0.0.1',1989,'/Area/Zone/ZoneMasterOfficeWilW0',4,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (234,204,'fst0Office01','Adders\' Nest','127.0.0.1',1989,'/Area/Zone/ZoneMasterOfficeFstF0',2,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (235,101,NULL,'Shposhae','127.0.0.1',1989,'',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (236,101,'sea1Field01','Locke\'s Lie','127.0.0.1',1989,'/Area/Zone/ZoneMasterSeaS1',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (237,101,NULL,'Turtleback Island','127.0.0.1',1989,'',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (238,103,'fst0Field04','Thornmarch','127.0.0.1',1989,'',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (239,102,'roc0Field02a','The Howling Eye','127.0.0.1',1989,'/Area/Zone/ZoneMasterRocR0',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (240,104,'wil0Field05a','The Bowl of Embers','127.0.0.1',1989,'',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (244,209,'prv0Inn01','Inn Room','127.0.0.1',1989,'/Area/Zone/ZoneMasterPrvI0',61,61,0,0,1,0,0,0,0); +INSERT INTO `server_zones` VALUES (245,102,'roc0Dungeon04','The Aurum Vale','127.0.0.1',1989,'/Area/Zone/ZoneMasterRocR0',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (246,104,NULL,'Cutter\'s Cry','127.0.0.1',1989,'',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (247,103,NULL,'North Shroud','127.0.0.1',1989,'',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (248,101,NULL,'Western La Noscea','127.0.0.1',1989,'',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (249,104,NULL,'Eastern Thanalan','127.0.0.1',1989,'',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (250,102,'roc0Field02a','The Howling Eye','127.0.0.1',1989,'/Area/Zone/ZoneMasterRocR0',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (251,105,NULL,'Transmission Tower','127.0.0.1',1989,'',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (252,102,'roc0Dungeon04','The Aurum Vale','127.0.0.1',1989,'/Area/Zone/ZoneMasterRocR0',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (253,102,'roc0Dungeon04','The Aurum Vale','127.0.0.1',1989,'/Area/Zone/ZoneMasterRocR0',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (254,104,NULL,'Cutter\'s Cry','127.0.0.1',1989,'',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (255,104,NULL,'Cutter\'s Cry','127.0.0.1',1989,'',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (256,102,'roc0Field02a','The Howling Eye','127.0.0.1',1989,'/Area/Zone/ZoneMasterRocR0',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (257,109,'roc1Field01','Rivenroad','127.0.0.1',1989,'/Area/Zone/ZoneMasterRocR1',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (258,103,NULL,'North Shroud','127.0.0.1',1989,'',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (259,103,NULL,'North Shroud','127.0.0.1',1989,'',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (260,101,NULL,'Western La Noscea','127.0.0.1',1989,'',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (261,101,NULL,'Western La Noscea','127.0.0.1',1989,'',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (262,104,NULL,'Eastern Thanalan','127.0.0.1',1989,'',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (263,104,NULL,'Eastern Thanalan','127.0.0.1',1989,'',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (264,105,'lak0Field01','Transmission Tower','127.0.0.1',1989,'',0,0,0,0,0,1,0,0,0); +INSERT INTO `server_zones` VALUES (265,104,NULL,'The Bowl of Embers','127.0.0.1',1989,'',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (266,105,'lak0Field01a','Mor Dhona','127.0.0.1',1989,'/Area/Zone/ZoneMasterLakL0',49,49,11,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (267,109,'roc1Field02','Rivenroad','127.0.0.1',1989,'/Area/Zone/ZoneMasterRocR1',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (268,109,'roc1Field03','Rivenroad','127.0.0.1',1989,'/Area/Zone/ZoneMasterRocR1',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (269,101,NULL,'Locke\'s Lie','127.0.0.1',1989,'',0,0,0,0,0,0,0,0,0); +INSERT INTO `server_zones` VALUES (270,101,NULL,'Turtleback Island','127.0.0.1',1989,'',0,0,0,0,0,0,0,0,0); +/*!40000 ALTER TABLE `server_zones` ENABLE KEYS */; +UNLOCK TABLES; +commit; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; + +-- Dump completed on 2017-06-29 18:47:53