1
Fork 0
mirror of https://bitbucket.org/Ioncannon/project-meteor-server.git synced 2025-04-23 21:27:46 +00:00

navmeshes now super lightweight (<3 u devi)

- refactored some stuff
- unhardcoded navmesh loading
- included sharpnav license
This commit is contained in:
Tahir Akhlaq 2017-06-09 04:17:08 +01:00
parent b640c87c69
commit 872e56f8f9
10 changed files with 354 additions and 253 deletions

View file

@ -76,7 +76,8 @@ namespace FFXIVClassic_Map_Server
isInn, isInn,
canRideChocobo, canRideChocobo,
canStealth, canStealth,
isInstanceRaid isInstanceRaid,
loadNavMesh
FROM server_zones FROM server_zones
WHERE zoneName IS NOT NULL and serverIp = @ip and serverPort = @port"; WHERE zoneName IS NOT NULL and serverIp = @ip and serverPort = @port";
@ -89,7 +90,8 @@ namespace FFXIVClassic_Map_Server
{ {
while (reader.Read()) 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; zoneList[zone.actorId] = zone;
count1++; count1++;
} }

View file

@ -41,7 +41,6 @@ namespace FFXIVClassic_Map_Server.Actors
public List<LuaParam> classParams; public List<LuaParam> classParams;
public List<utils.Vector3> positionUpdates = new List<utils.Vector3>(); public List<utils.Vector3> positionUpdates = new List<utils.Vector3>();
public DateTime lastAiUpdate;
public DateTime lastMoveUpdate; public DateTime lastMoveUpdate;
public Actor target; public Actor target;
@ -371,6 +370,10 @@ namespace FFXIVClassic_Map_Server.Actors
{ {
((Character)this).Update(deltaTime); ((Character)this).Update(deltaTime);
} }
else if (this is Zone)
{
((Zone)this).Update(deltaTime);
}
} }
public void GenerateActorName(int actorNumber) public void GenerateActorName(int actorNumber)
@ -540,6 +543,7 @@ namespace FFXIVClassic_Map_Server.Actors
return zoneId; return zoneId;
} }
// todo: do this properly
public bool IsFacing(float x, float y) public bool IsFacing(float x, float y)
{ {
var rot1 = this.rotation; var rot1 = this.rotation;
@ -554,6 +558,7 @@ namespace FFXIVClassic_Map_Server.Actors
return rot1 == (float)dRot; return rot1 == (float)dRot;
} }
// todo: do this properly
public bool IsFacing(Actor target) public bool IsFacing(Actor target)
{ {
if (target == null) if (target == null)
@ -582,7 +587,7 @@ namespace FFXIVClassic_Map_Server.Actors
} }
else 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; rotation = (float)dRot;
} }
public void QueuePositionUpdate(utils.Vector3 pos)
{
if (positionUpdates == null)
positionUpdates = new List<utils.Vector3>();
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);
}
} }
} }

View file

@ -24,23 +24,28 @@ namespace FFXIVClassic_Map_Server.actors.area
public SharpNav.TiledNavMesh tiledNavMesh; public SharpNav.TiledNavMesh tiledNavMesh;
public SharpNav.NavMeshQuery navMeshQuery; public SharpNav.NavMeshQuery navMeshQuery;
public Int64 pathCalls; public Int64 pathCalls;
public Int64 pathCallTime; 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) : base(id, zoneName, regionId, classPath, bgmDay, bgmNight, bgmBattle, isIsolated, isInn, canRideChocobo, canStealth, isInstanceRaid)
{ {
// central thanalan navmesh var navMeshName = loadNavMesh ? zoneName + ".snb" : "";
if (id == 170)
if (navMeshName != "")
{ {
try try
{ {
//navMesh = utils.NavmeshUtils.LoadNavmesh("wil_w0_fld01.bin"); tiledNavMesh = utils.NavmeshUtils.LoadNavmesh(tiledNavMesh, navMeshName);
tiledNavMesh = utils.NavmeshUtils.LoadNavmesh(tiledNavMesh, "wil_w0_fld01.snb");
navMeshQuery = new SharpNav.NavMeshQuery(tiledNavMesh, 100); 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); 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);
}
}
}
} }
} }

View file

@ -60,6 +60,8 @@ namespace FFXIVClassic_Map_Server.Actors
public Group currentParty = null; public Group currentParty = null;
public ContentGroup currentContentGroup = null; public ContentGroup currentContentGroup = null;
public DateTime lastAiUpdate;
public Character(uint actorID) : base(actorID) public Character(uint actorID) : base(actorID)
{ {
//Init timer array to "notimer" //Init timer array to "notimer"
@ -150,10 +152,11 @@ namespace FFXIVClassic_Map_Server.Actors
sw.Stop(); sw.Stop();
((Zone)zone).pathCalls++; ((Zone)zone).pathCalls++;
((Zone)zone).pathCallTime += sw.ElapsedMilliseconds; ((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) 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); var diffTime = (DateTime.Now - lastAiUpdate);
if (this is Player) if (this is Player)
@ -235,106 +243,89 @@ namespace FFXIVClassic_Map_Server.Actors
{ {
var spawnDistance = Utils.Distance(positionX, positionY, positionZ, oldPositionX, oldPositionY, oldPositionZ); var spawnDistance = Utils.Distance(positionX, positionY, positionZ, oldPositionX, oldPositionY, oldPositionZ);
// despawn if too far from spawn so client can reload me // todo: actual spawn leash and modifiers read from table
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);
}
// set a leash to path back to spawn even if have target // set a leash to path back to spawn even if have target
else if (spawnDistance >= 55) if (spawnDistance >= 55)
{ {
this.isMovingToSpawn = true; this.isMovingToSpawn = true;
this.target = null; this.target = null;
this.positionUpdates.Clear();
this.lastMoveUpdate = this.lastMoveUpdate.AddSeconds(-5); 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; Player closestPlayer = null;
float closestPlayerDistance = 1000.0f; 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; if (actor is Player && actor != this)
// dont despawn again if we already told target to despawn us
if (despawnOutOfRange && player.actorId != targId)
{ {
//player.QueuePacket(RemoveActorPacket.BuildPacket(player.actorId, this.actorId)); var player = actor as Player;
continue;
// 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 // found a target
if (this.isMovingToSpawn) if (foundActor)
continue; {
// make sure we're not already moving so we dont spam packets
// find distance between self and target if (!hasMoved)
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; // todo: include model size and mob specific distance checks
closestPlayer = player; if (closestPlayerDistance >= 3)
foundActor = true; {
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) // time elapsed since last move update
{
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);
}
}
}
var diffMove = (DateTime.Now - lastMoveUpdate); var diffMove = (DateTime.Now - lastMoveUpdate);
// player disappeared // player disappeared
@ -357,6 +348,7 @@ namespace FFXIVClassic_Map_Server.Actors
// within spawn range, find a random point // within spawn range, find a random point
else if (diffMove.Seconds >= 15 && !hasMoved) else if (diffMove.Seconds >= 15 && !hasMoved)
{ {
// pick a random point within 10 yalms or spawn
PathTo(oldPositionX, oldPositionY, oldPositionZ, 2.5f, 7, 10.5f); PathTo(oldPositionX, oldPositionY, oldPositionZ, 2.5f, 7, 10.5f);
// face destination // 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.. // todo: this is retarded. actually no it isnt, i didnt deaggro if out of range..
target = null; target = null;
} }
// update last ai update time to now
lastAiUpdate = DateTime.Now; lastAiUpdate = DateTime.Now;
} }
} }

View file

@ -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 //Add new actors or move
for (int i = 0; i < list.Count; i++) for (int i = 0; i < list.Count; i++)
{ {
@ -137,17 +135,6 @@ namespace FFXIVClassic_Map_Server.dataobjects
if (actor is Character && !actor.hasMoved) if (actor is Character && !actor.hasMoved)
continue; 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); var packet = actor.CreatePositionUpdatePacket(playerActor.actorId);
if (packet != null) if (packet != null)

View file

@ -0,0 +1,22 @@
The MIT License (MIT)
Copyright (c) 2013-2016 Robert Rouhani <robert.rouhani@gmail.com> 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.

Binary file not shown.

View file

@ -97,7 +97,7 @@ namespace FFXIVClassic_Map_Server.utils
public static SharpNav.TiledNavMesh LoadNavmesh(TiledNavMesh navmesh, string filePath) public static SharpNav.TiledNavMesh LoadNavmesh(TiledNavMesh navmesh, string filePath)
{ {
var serialiser = new SharpNav.IO.Json.NavMeshJsonSerializer(); 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); //return navmesh = new SharpNav.IO.Json.NavMeshJsonSerializer().Deserialize(filePath);
} }
@ -110,7 +110,14 @@ namespace FFXIVClassic_Map_Server.utils
var navMesh = zone.tiledNavMesh; var navMesh = zone.tiledNavMesh;
var navMeshQuery = zone.navMeshQuery; 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<Vector3>() { 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; return null;
} }
@ -226,7 +233,7 @@ namespace FFXIVClassic_Map_Server.utils
Program.Log.Error(e.Message); 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); 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 // todo: probably log this
return new List<Vector3>() { }; return new List<Vector3>() { endVec };
} }
return smoothPath; return smoothPath;
} }

View file

@ -1,16 +1,27 @@
/* -- MySQL dump 10.13 Distrib 5.7.18, for Win64 (x86_64)
MySQL Data Transfer --
Source Host: localhost -- Host: localhost Database: ffxiv_server
Source Database: ffxiv_server -- ------------------------------------------------------
Target Host: localhost -- Server version 5.7.18-log
Target Database: ffxiv_server
Date: 6/14/2017 10:19:40 PM
*/
SET FOREIGN_KEY_CHECKS=0; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-- ---------------------------- /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-- Table structure for server_zones /*!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` ( CREATE TABLE `server_zones` (
`id` int(10) unsigned NOT NULL, `id` int(10) unsigned NOT NULL,
`regionId` smallint(6) unsigned NOT NULL, `regionId` smallint(6) unsigned NOT NULL,
@ -27,120 +38,140 @@ CREATE TABLE `server_zones` (
`canRideChocobo` tinyint(1) DEFAULT '1', `canRideChocobo` tinyint(1) DEFAULT '1',
`canStealth` tinyint(1) DEFAULT '0', `canStealth` tinyint(1) DEFAULT '0',
`isInstanceRaid` tinyint(1) unsigned DEFAULT '0', `isInstanceRaid` tinyint(1) unsigned DEFAULT '0',
`loadNavMesh` tinyint(1) NOT NULL,
PRIMARY KEY (`id`) PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1; ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
-- ---------------------------- --
-- Records -- Dumping data for table `server_zones`
-- ---------------------------- --
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'); LOCK TABLES `server_zones` WRITE;
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'); /*!40000 ALTER TABLE `server_zones` DISABLE KEYS */;
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'); set autocommit=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 (0,0,NULL,'--','127.0.0.1',1989,'',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'); 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 ('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 (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 ('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 (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 ('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 (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 ('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 (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 ('138', '101', null, 'La Noscea', '127.0.0.1', '1989', '', '60', '60', '21', '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 ('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 (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 ('140', '101', null, 'Sailors Ward', '127.0.0.1', '1989', '', '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 ('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 (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 ('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 (138,101,NULL,'La Noscea','127.0.0.1',1989,'',60,60,21,0,0,0,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'); 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 ('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 (140,101,NULL,'Sailors Ward','127.0.0.1',1989,'',0,0,0,0,0,0,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'); 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 ('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 (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 ('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 (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 ('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 (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 ('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 (146,102,NULL,'Coerthas','127.0.0.1',1989,'',55,55,15,0,0,0,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'); 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 ('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 (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 ('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 (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 ('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 (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 ('156', '103', null, 'The Black Shroud', '127.0.0.1', '1989', '', '0', '0', '0', '0', '0', '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 ('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 (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 ('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 (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 ('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 (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 ('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 (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 ('161', '103', null, 'Peasants Ward', '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,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 (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 ('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 (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 ('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 (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 ('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 (161,103,NULL,'Peasants Ward','127.0.0.1',1989,'',0,0,0,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'); 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 ('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 (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 ('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 (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 ('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 (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 ('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 (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 ('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 (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 ('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 (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 ('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 (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 ('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 (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 ('177', '207', '_jail', '-', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterJail', '0', '0', '0', '0', '0', '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 ('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 (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 ('179', '104', null, 'Thanalan', '127.0.0.1', '1989', '', '0', '0', '0', '0', '0', '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 ('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 (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 ('181', '104', null, 'Merchants Ward', '127.0.0.1', '1989', '', '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 ('182', '104', null, 'Central Thanalan', '127.0.0.1', '1989', '', '68', '68', '25', '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 ('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 (179,104,NULL,'Thanalan','127.0.0.1',1989,'',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'); 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 ('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 (181,104,NULL,'Merchants Ward','127.0.0.1',1989,'',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'); 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 ('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 (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 ('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 (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 ('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 (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 ('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 (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 ('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 (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 ('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 (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 ('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 (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 ('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 (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 ('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 (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 ('201', '208', 'prv0Cottage00', '-', '127.0.0.1', '1989', '/Area/Zone/ZoneMasterCottagePrv00', '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 ('204', '101', 'sea0Field02a', 'Western La Noscea', '127.0.0.1', '1989', '', '60', '60', '21', '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 ('205', '101', 'sea0Field03a', 'Eastern La Noscea', '127.0.0.1', '1989', '', '60', '60', '21', '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 ('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 (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 ('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 (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 ('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 (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 ('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 (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 ('210', '104', null, 'Eastern Thanalan', '127.0.0.1', '1989', '', '68', '68', '25', '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 ('211', '104', null, 'Western Thanalan', '127.0.0.1', '1989', '', '68', '68', '25', '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 ('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 (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 ('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 (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 ('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 (210,104,NULL,'Eastern Thanalan','127.0.0.1',1989,'',68,68,25,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 (211,104,NULL,'Western Thanalan','127.0.0.1',1989,'',68,68,25,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 (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 ('235', '101', null, 'Shposhae', '127.0.0.1', '1989', '', '0', '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 ('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 (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 ('237', '101', null, 'Turtleback Island', '127.0.0.1', '1989', '', '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 ('238', '103', 'fst0Field04', 'Thornmarch', '127.0.0.1', '1989', '', '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 ('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 (235,101,NULL,'Shposhae','127.0.0.1',1989,'',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'); 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 ('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 (237,101,NULL,'Turtleback Island','127.0.0.1',1989,'',0,0,0,0,0,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'); 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 ('246', '104', null, 'Cutter\'s Cry', '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,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 (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 ('248', '101', null, 'Western La Noscea', '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,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 (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 ('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 (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 ('251', '105', null, 'Transmission Tower', '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,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 (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 ('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 (249,104,NULL,'Eastern Thanalan','127.0.0.1',1989,'',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'); 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 ('255', '104', null, 'Cutter\'s Cry', '127.0.0.1', '1989', '', '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 ('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 (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 ('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 (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 ('258', '103', null, 'North Shroud', '127.0.0.1', '1989', '', '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 ('259', '103', null, 'North Shroud', '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,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 (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 ('261', '101', null, 'Western La Noscea', '127.0.0.1', '1989', '', '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 ('262', '104', null, 'Eastern Thanalan', '127.0.0.1', '1989', '', '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 ('263', '104', null, 'Eastern Thanalan', '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,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 (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 ('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 (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 ('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 (262,104,NULL,'Eastern Thanalan','127.0.0.1',1989,'',0,0,0,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'); 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 ('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 (264,105,'lak0Field01','Transmission Tower','127.0.0.1',1989,'',0,0,0,0,0,1,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 (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 ('270', '101', null, 'Turtleback Island', '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,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