diff --git a/pom.xml b/pom.xml
index 87c9fea..bc6325e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -47,6 +47,16 @@
ojdbc10
runtime
+
+ com.fasterxml.jackson.dataformat
+ jackson-dataformat-yaml
+ 2.11.1
+
+
+ org.hibernate
+ hibernate-validator
+ 6.0.16.Final
+
diff --git a/src/main/java/swg/SwgRestApiApplication.java b/src/main/java/swg/SwgRestApiApplication.java
index 24e136f..94d09bd 100644
--- a/src/main/java/swg/SwgRestApiApplication.java
+++ b/src/main/java/swg/SwgRestApiApplication.java
@@ -2,10 +2,13 @@ package swg;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.web.bind.annotation.RestController;
+import swg.entity.SwgConfiguration;
@SpringBootApplication
@RestController
+@EnableConfigurationProperties(SwgConfiguration.class)
public class SwgRestApiApplication {
public static void main(String[] args) {
SpringApplication.run(SwgRestApiApplication.class, args);
diff --git a/src/main/java/swg/controller/AccountController.java b/src/main/java/swg/controller/AccountController.java
index a697388..0ded676 100644
--- a/src/main/java/swg/controller/AccountController.java
+++ b/src/main/java/swg/controller/AccountController.java
@@ -8,7 +8,7 @@ import swg.service.AccountService;
import java.util.List;
@RestController
-@RequestMapping("/account")
+@RequestMapping("/api/account")
public class AccountController {
@Autowired
AccountService accountService;
diff --git a/src/main/java/swg/controller/CityObjectController.java b/src/main/java/swg/controller/CityObjectController.java
new file mode 100644
index 0000000..e5c0af2
--- /dev/null
+++ b/src/main/java/swg/controller/CityObjectController.java
@@ -0,0 +1,37 @@
+package swg.controller;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.web.bind.annotation.*;
+import swg.entity.CityObject;
+import swg.service.CityObjectService;
+
+import java.util.List;
+
+@CrossOrigin
+@RestController
+@RequestMapping("/api/city")
+public class CityObjectController {
+ @Autowired
+ CityObjectService cityObjectService;
+
+ @ResponseStatus(code = HttpStatus.NOT_FOUND, reason = "City could not be found.")
+ public static class CityNotFoundException extends RuntimeException {}
+
+ @RequestMapping(value = "/all", method = RequestMethod.GET)
+ public List getAllPropertyLists() {
+ return cityObjectService.getAllCityObjects();
+ }
+
+ @RequestMapping(value = "/detail", method = RequestMethod.GET)
+ public CityObject getCityByCityName(@RequestParam("name") String name) {
+ CityObject co = cityObjectService.getCityObjectByCityName(name);
+ if(co == null) throw new CityNotFoundException();
+ return co;
+ }
+
+ @RequestMapping(value = "/detail/{objectId}", method = RequestMethod.GET)
+ public CityObject getCityObjectsByObjectId(@PathVariable("objectId") Long objectId) {
+ return cityObjectService.getCityObjectByObjectId(objectId);
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/swg/controller/MetricsController.java b/src/main/java/swg/controller/MetricsController.java
new file mode 100644
index 0000000..bda6573
--- /dev/null
+++ b/src/main/java/swg/controller/MetricsController.java
@@ -0,0 +1,22 @@
+package swg.controller;
+
+import org.springframework.web.bind.annotation.*;
+import swg.entity.MetricsModel;
+
+@CrossOrigin
+@RestController
+@RequestMapping("/api/metrics")
+public class MetricsController {
+ MetricsModel currentMetrics;
+
+ @PostMapping(consumes = "application/json")
+ public boolean setMetrics(@RequestBody MetricsModel metrics) {
+ this.currentMetrics = metrics;
+ return true;
+ }
+
+ @GetMapping(produces = "application/json")
+ public MetricsModel retrieveMetrics() {
+ return currentMetrics;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/swg/controller/PlayerController.java b/src/main/java/swg/controller/PlayerController.java
new file mode 100644
index 0000000..6cd0ef4
--- /dev/null
+++ b/src/main/java/swg/controller/PlayerController.java
@@ -0,0 +1,31 @@
+package swg.controller;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import swg.entity.Player;
+import swg.service.PlayerService;
+
+import java.util.List;
+
+@CrossOrigin
+@RestController
+@RequestMapping("/api/player")
+public class PlayerController {
+ @Autowired
+ PlayerService playerService;
+
+ @RequestMapping(value = "/all", method = RequestMethod.GET)
+ public List getAllPlayers() {
+ return playerService.getAllPlayers();
+ }
+
+ @RequestMapping(value = "/station/{stationId}", method = RequestMethod.GET)
+ public List getAllByStationId(@PathVariable("stationId") Long stationId) {
+ return playerService.getAllPlayersByStationId(stationId);
+ }
+
+ @RequestMapping(value = "/{objectId}", method = RequestMethod.GET)
+ public Player getByObjectId(@PathVariable("objectId") Long objectId) {
+ return playerService.getPlayerByObjectId(objectId);
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/swg/controller/ResourceTypeController.java b/src/main/java/swg/controller/ResourceTypeController.java
new file mode 100644
index 0000000..e735757
--- /dev/null
+++ b/src/main/java/swg/controller/ResourceTypeController.java
@@ -0,0 +1,30 @@
+package swg.controller;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.CrossOrigin;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+import swg.entity.ActiveResource;
+import swg.entity.ResourceType;
+import swg.service.ResourceTypeService;
+
+import java.util.List;
+
+@CrossOrigin
+@RestController
+@RequestMapping("/api/resource")
+public class ResourceTypeController {
+ @Autowired
+ ResourceTypeService resourceTypeService;
+
+ @RequestMapping(value = "/historical/all", method = RequestMethod.GET)
+ public List getAllResources() {
+ return resourceTypeService.getAllResources();
+ }
+
+ @RequestMapping(value = "/current", method = RequestMethod.GET)
+ public List getSpawnedResources() {
+ return resourceTypeService.getSpawnedResources();
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/swg/controller/SettingsController.java b/src/main/java/swg/controller/SettingsController.java
new file mode 100644
index 0000000..f20bacc
--- /dev/null
+++ b/src/main/java/swg/controller/SettingsController.java
@@ -0,0 +1,41 @@
+package swg.controller;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
+import com.fasterxml.jackson.dataformat.yaml.YAMLGenerator;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.web.bind.annotation.*;
+
+import swg.entity.SwgConfiguration;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+
+@CrossOrigin
+@RestController
+@RequestMapping("/api/settings")
+public class SettingsController {
+ @Autowired
+ SwgConfiguration swgConfiguration;
+
+ @Value(value = "${swg.log.config.path}customOptions.cfg")
+ String swgConfigFile;
+
+ @RequestMapping(value = "/server", method = RequestMethod.GET)
+ public SwgConfiguration getAllSettings() {
+ return swgConfiguration;
+ }
+
+ @RequestMapping(value = "/server", method = RequestMethod.POST)
+ public void saveSwgConfiguration(@RequestBody SwgConfiguration swgConfiguration) throws IOException {
+ this.swgConfiguration = swgConfiguration;
+ ObjectMapper mapper = new ObjectMapper(new YAMLFactory().disable(YAMLGenerator.Feature.WRITE_DOC_START_MARKER));
+ mapper.writeValue(new File("./swg-local.yml"), swgConfiguration);
+ BufferedWriter writer = new BufferedWriter(new FileWriter(this.swgConfigFile));
+ writer.write(swgConfiguration.toString());
+ writer.close();
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/swg/dao/AccountDao.java b/src/main/java/swg/dao/AccountDao.java
index 580e6a8..b467919 100644
--- a/src/main/java/swg/dao/AccountDao.java
+++ b/src/main/java/swg/dao/AccountDao.java
@@ -4,8 +4,6 @@ import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import swg.entity.Account;
-import java.util.List;
-
@Repository
public interface AccountDao extends JpaRepository {
public Account findByStationId(Long stationId);
diff --git a/src/main/java/swg/dao/CityObjectDao.java b/src/main/java/swg/dao/CityObjectDao.java
new file mode 100644
index 0000000..4ad7930
--- /dev/null
+++ b/src/main/java/swg/dao/CityObjectDao.java
@@ -0,0 +1,16 @@
+package swg.dao;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.stereotype.Repository;
+import swg.entity.CityObject;
+import swg.entity.PropertyList;
+
+import java.util.List;
+
+@Repository
+public interface CityObjectDao extends JpaRepository {
+ public CityObject findByObjectId(Long objectId);
+ @Query(value = "SELECT * FROM CITY_OBJECTS WHERE object_id = (SELECT object_id from PROPERTY_LISTS WHERE LIST_ID = 12 AND VALUE LIKE '%::%')", nativeQuery = true)
+ public CityObject findByName(String name);
+}
\ No newline at end of file
diff --git a/src/main/java/swg/dao/PlayerDao.java b/src/main/java/swg/dao/PlayerDao.java
new file mode 100644
index 0000000..8668f78
--- /dev/null
+++ b/src/main/java/swg/dao/PlayerDao.java
@@ -0,0 +1,13 @@
+package swg.dao;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+import swg.entity.Player;
+
+import java.util.List;
+
+@Repository
+public interface PlayerDao extends JpaRepository {
+ public List findByStationId(Long stationId);
+ public Player findByObjectId(Long objectId);
+}
\ No newline at end of file
diff --git a/src/main/java/swg/dao/PropertyListDao.java b/src/main/java/swg/dao/PropertyListDao.java
new file mode 100644
index 0000000..8abc93f
--- /dev/null
+++ b/src/main/java/swg/dao/PropertyListDao.java
@@ -0,0 +1,14 @@
+package swg.dao;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+import swg.entity.Player;
+import swg.entity.PropertyList;
+import swg.entity.ResourceType;
+
+import java.util.List;
+
+@Repository
+public interface PropertyListDao extends JpaRepository {
+ public List findByObjectId(Long objectId);
+}
\ No newline at end of file
diff --git a/src/main/java/swg/dao/ResourceTypeDao.java b/src/main/java/swg/dao/ResourceTypeDao.java
new file mode 100644
index 0000000..616981b
--- /dev/null
+++ b/src/main/java/swg/dao/ResourceTypeDao.java
@@ -0,0 +1,15 @@
+package swg.dao;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.stereotype.Repository;
+import swg.entity.ActiveResource;
+import swg.entity.ResourceType;
+
+import java.util.List;
+
+@Repository
+public interface ResourceTypeDao extends JpaRepository {
+ @Query(value = "SELECT * FROM active_resources_data", nativeQuery = true)
+ public List findAllSpawned();
+}
\ No newline at end of file
diff --git a/src/main/java/swg/entity/Account.java b/src/main/java/swg/entity/Account.java
index 7394a51..d8a4942 100644
--- a/src/main/java/swg/entity/Account.java
+++ b/src/main/java/swg/entity/Account.java
@@ -3,7 +3,6 @@ package swg.entity;
import javax.persistence.*;
@Entity
-@NamedQuery(name = "Account.findByStationId", query = "SELECT a FROM Account a WHERE a.stationId = ?1")
@Table(name = "ACCOUNTS")
public class Account {
@Column(name = "STATION_ID")
diff --git a/src/main/java/swg/entity/ActiveResource.java b/src/main/java/swg/entity/ActiveResource.java
new file mode 100644
index 0000000..b6b186e
--- /dev/null
+++ b/src/main/java/swg/entity/ActiveResource.java
@@ -0,0 +1,9 @@
+package swg.entity;
+
+public interface ActiveResource {
+ Long getResource_id();
+ String getResource_name();
+ String getResource_class();
+ String getAttribute_name();
+ String getAttribute_value();
+}
diff --git a/src/main/java/swg/entity/CityObject.java b/src/main/java/swg/entity/CityObject.java
new file mode 100644
index 0000000..531615e
--- /dev/null
+++ b/src/main/java/swg/entity/CityObject.java
@@ -0,0 +1,36 @@
+package swg.entity;
+
+import javax.persistence.*;
+import java.util.Date;
+import java.util.List;
+
+@Entity
+@Table(name = "CITY_OBJECTS")
+public class CityObject {
+ @Column(name = "OBJECT_ID")
+ @Id
+ @GeneratedValue(strategy = GenerationType.AUTO)
+ private Long objectId;
+
+ @OneToMany(mappedBy = "objectId")
+ private List propertyLists;
+
+ protected CityObject() {
+ }
+
+ public Long getObjectId() {
+ return objectId;
+ }
+
+ public void setObjectId(Long objectId) {
+ this.objectId = objectId;
+ }
+
+ public List getPropertyLists() {
+ return propertyLists;
+ }
+
+ public void setPropertyLists(List propertyLists) {
+ this.propertyLists = propertyLists;
+ }
+}
diff --git a/src/main/java/swg/entity/MetricsModel.java b/src/main/java/swg/entity/MetricsModel.java
new file mode 100644
index 0000000..5f25187
--- /dev/null
+++ b/src/main/java/swg/entity/MetricsModel.java
@@ -0,0 +1,107 @@
+package swg.entity;
+
+public class MetricsModel {
+ private String clusterName;
+ private int totalPlayerCount;
+ private int totalGameServers;
+ private int totalPlanetServers;
+ private int totalTutorialSceneCount;
+ private long lastLoadingStateTime;
+ private long clusterStartupTime;
+ private long timeClusterWentIntoLoadingState;
+ private int webUpdateIntervalSeconds;
+ private long lastUpdateTime;
+ private String secretKey;
+
+ public MetricsModel() {
+ this.lastUpdateTime = System.currentTimeMillis();
+ }
+
+ public String getClusterName() {
+ return clusterName;
+ }
+
+ public void setClusterName(String clusterName) {
+ this.clusterName = clusterName;
+ }
+
+ public int getTotalPlayerCount() {
+ return totalPlayerCount;
+ }
+
+ public void setTotalPlayerCount(int totalPlayerCount) {
+ this.totalPlayerCount = totalPlayerCount;
+ }
+
+ public int getTotalGameServers() {
+ return totalGameServers;
+ }
+
+ public void setTotalGameServers(int totalGameServers) {
+ this.totalGameServers = totalGameServers;
+ }
+
+ public int getTotalPlanetServers() {
+ return totalPlanetServers;
+ }
+
+ public void setTotalPlanetServers(int totalPlanetServers) {
+ this.totalPlanetServers = totalPlanetServers;
+ }
+
+ public int getTotalTutorialSceneCount() {
+ return totalTutorialSceneCount;
+ }
+
+ public void setTotalTutorialSceneCount(int totalTutorialSceneCount) {
+ this.totalTutorialSceneCount = totalTutorialSceneCount;
+ }
+
+ public long getLastLoadingStateTime() {
+ return lastLoadingStateTime;
+ }
+
+ public void setLastLoadingStateTime(long lastLoadingStateTime) {
+ this.lastLoadingStateTime = lastLoadingStateTime;
+ }
+
+ public long getClusterStartupTime() {
+ return clusterStartupTime;
+ }
+
+ public void setClusterStartupTime(long clusterStartupTime) {
+ this.clusterStartupTime = clusterStartupTime;
+ }
+
+ public long getTimeClusterWentIntoLoadingState() {
+ return timeClusterWentIntoLoadingState;
+ }
+
+ public void setTimeClusterWentIntoLoadingState(long timeClusterWentIntoLoadingState) {
+ this.timeClusterWentIntoLoadingState = timeClusterWentIntoLoadingState;
+ }
+
+ public int getWebUpdateIntervalSeconds() {
+ return webUpdateIntervalSeconds;
+ }
+
+ public void setWebUpdateIntervalSeconds(int webUpdateIntervalSeconds) {
+ this.webUpdateIntervalSeconds = webUpdateIntervalSeconds;
+ }
+
+ public long getLastUpdateTime() {
+ return lastUpdateTime;
+ }
+
+ public void setLastUpdateTime(long lastUpdateTime) {
+ this.lastUpdateTime = lastUpdateTime;
+ }
+
+ public String getSecretKey() {
+ return secretKey;
+ }
+
+ public void setSecretKey(String secretKey) {
+ this.secretKey = secretKey;
+ }
+}
diff --git a/src/main/java/swg/entity/Player.java b/src/main/java/swg/entity/Player.java
new file mode 100644
index 0000000..bb9b685
--- /dev/null
+++ b/src/main/java/swg/entity/Player.java
@@ -0,0 +1,91 @@
+package swg.entity;
+
+import javax.persistence.*;
+import java.util.Date;
+import java.util.List;
+
+@Entity
+@Table(name = "PLAYERS")
+public class Player {
+ @Column(name = "CHARACTER_OBJECT")
+ @Id
+ @GeneratedValue(strategy = GenerationType.AUTO)
+ private Long objectId;
+
+ @Column(name = "STATION_ID", nullable = true, length =38)
+ private Long stationId;
+
+ @Column(name = "UC_CHARACTER_NAME", nullable = true, length = 127)
+ private String characterName;
+
+ @Column(name = "CHARACTER_FULL_NAME", nullable = true, length = 127)
+ private String characterFullName;
+
+ @Column(name = "CREATE_TIME", nullable = true)
+ private Date createTime;
+
+ @Column(name = "LAST_LOGIN_TIME", nullable = true)
+ private Date lastLoginTime;
+
+ @OneToMany(mappedBy = "objectId")
+ private List propertyLists;
+
+ protected Player() {
+ }
+
+ public Long getObjectId() {
+ return objectId;
+ }
+
+ public void setObjectId(Long objectId) {
+ this.objectId = objectId;
+ }
+
+ public Long getStationId() {
+ return stationId;
+ }
+
+ public void setStationId(Long stationId) {
+ this.stationId = stationId;
+ }
+
+ public String getCharacterName() {
+ return characterName;
+ }
+
+ public void setCharacterName(String characterName) {
+ this.characterName = characterName;
+ }
+
+ public String getCharacterFullName() {
+ return characterFullName;
+ }
+
+ public void setCharacterFullName(String characterFullName) {
+ this.characterFullName = characterFullName;
+ }
+
+ public Date getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(Date createTime) {
+ this.createTime = createTime;
+ }
+
+ public Date getLastLoginTime() {
+ return lastLoginTime;
+ }
+
+ public void setLastLoginTime(Date lastLoginTime) {
+ this.lastLoginTime = lastLoginTime;
+ }
+
+ public List getPropertyList() {
+ return propertyLists;
+ }
+
+ public void setPropertyList(List propertyLists) {
+ this.propertyLists = propertyLists;
+ }
+}
diff --git a/src/main/java/swg/entity/PropertyList.java b/src/main/java/swg/entity/PropertyList.java
new file mode 100644
index 0000000..3c58c41
--- /dev/null
+++ b/src/main/java/swg/entity/PropertyList.java
@@ -0,0 +1,73 @@
+package swg.entity;
+
+import javax.persistence.*;
+import java.io.Serializable;
+
+class PropertyListCompositeKey implements Serializable {
+ private Long objectId;
+ private Long listId;
+ private String value;
+}
+
+@Entity
+@Table(name = "PROPERTY_LISTS")
+@IdClass(PropertyListCompositeKey.class)
+public class PropertyList {
+ @Id
+ @Column(name = "OBJECT_ID", nullable = false, length = 20)
+ private Long objectId;
+
+ @Id
+ @Column(name = "LIST_ID", nullable = false, length = 38)
+ private Long listId;
+
+ @Id
+ @Column(name = "VALUE", nullable = false, length = 500)
+ private String value;
+
+ protected PropertyList() {
+ }
+
+ public Long getObjectId() {
+ return objectId;
+ }
+
+ public void setObjectId(Long objectId) {
+ this.objectId = objectId;
+ }
+
+ public Long getListId() {
+ return listId;
+ }
+
+ /*
+ * The following are valid List ID's:
+ *
+ * LI_Commands=0,
+ * LI_DraftSchematics=1,
+ * // removed: LI_PvpEnemies=2,
+ * LI_Allowed=3,
+ * LI_Banned=4,
+ * LI_GuildNames=5,
+ * LI_GuildAbbrevs=6,
+ * LI_GuildMembers=7,
+ * LI_GuildEnemies=8,
+ * LI_GuildLeaders=10,
+ * LI_Skills=11,
+ * LI_Cities=12,
+ * LI_Citizens=13,
+ * LI_CityStructures=14
+ *
+ */
+ public void setListId(Long listId) {
+ this.listId = listId;
+ }
+
+ public String getValue() {
+ return value;
+ }
+
+ public void setValue(String value) {
+ this.value = value;
+ }
+}
diff --git a/src/main/java/swg/entity/ResourceType.java b/src/main/java/swg/entity/ResourceType.java
new file mode 100644
index 0000000..47dfb27
--- /dev/null
+++ b/src/main/java/swg/entity/ResourceType.java
@@ -0,0 +1,78 @@
+package swg.entity;
+
+import javax.persistence.*;
+
+@Entity
+@Table(name = "RESOURCE_TYPES")
+public class ResourceType {
+ @Column(name = "RESOURCE_ID")
+ @Id
+ @GeneratedValue(strategy = GenerationType.AUTO)
+ private Long resourceId;
+
+ @Column(name = "RESOURCE_NAME", nullable = true, length = 100)
+ private String resourceName;
+
+ @Column(name = "RESOURCE_CLASS", nullable = true, length = 100)
+ private String resourceClass;
+
+ @Column(name = "ATTRIBUTES", nullable = true, length = 1024)
+ private String attributes;
+
+ @Column(name = "FRACTAL_SEEDS", nullable = true, length = 1024)
+ private String fractalSeeds;
+
+ @Column(name = "DEPLETED_TIMESTAMP", nullable = true, length = 38)
+ private Long depletedTimestamp;
+
+ protected ResourceType() {
+ }
+
+ public Long getResourceId() {
+ return resourceId;
+ }
+
+ public void setResourceId(Long resourceId) {
+ this.resourceId = resourceId;
+ }
+
+ public String getResourceName() {
+ return resourceName;
+ }
+
+ public void setResourceName(String resourceName) {
+ this.resourceName = resourceName;
+ }
+
+ public String getResourceClass() {
+ return resourceClass;
+ }
+
+ public void setResourceClass(String resourceClass) {
+ this.resourceClass = resourceClass;
+ }
+
+ public String getAttributes() {
+ return attributes;
+ }
+
+ public void setAttributes(String attributes) {
+ this.attributes = attributes;
+ }
+
+ public String getFractalSeeds() {
+ return fractalSeeds;
+ }
+
+ public void setFractalSeeds(String fractalSeeds) {
+ this.fractalSeeds = fractalSeeds;
+ }
+
+ public Long getDepletedTimestamp() {
+ return depletedTimestamp;
+ }
+
+ public void setDepletedTimestamp(Long depletedTimestamp) {
+ this.depletedTimestamp = depletedTimestamp;
+ }
+}
diff --git a/src/main/java/swg/entity/SwgConfiguration.java b/src/main/java/swg/entity/SwgConfiguration.java
new file mode 100644
index 0000000..abe2417
--- /dev/null
+++ b/src/main/java/swg/entity/SwgConfiguration.java
@@ -0,0 +1,2527 @@
+package swg.entity;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+
+import java.util.List;
+
+@ConfigurationProperties
+public class SwgConfiguration {
+ private final GameServer gameServer = new GameServer();
+ private final CentralServer centralServer = new CentralServer();
+ private final ServerMetrics serverMetrics = new ServerMetrics();
+ private final ChatServer chatServer = new ChatServer();
+ private final CommodityServer commodityServer = new CommodityServer();
+ private final PlanetServer planetServer = new PlanetServer();
+ private final ConnectionServer connectionServer = new ConnectionServer();
+ private final LoginServer loginServer = new LoginServer();
+ private final ScriptFlags scriptFlags = new ScriptFlags();
+ private final Quest quest = new Quest();
+ private final BestineEvents bestineEvents = new BestineEvents();
+ private final SharedLog sharedLog = new SharedLog();
+ private final SharedNetwork sharedNetwork = new SharedNetwork();
+ private final SharedFoundation sharedFoundation = new SharedFoundation();
+ private final Dungeon dungeon = new Dungeon();
+ private final EventTeam eventTeam = new EventTeam();
+ private final CharacterBuilder characterBuilder = new CharacterBuilder();
+ private final Custom custom = new Custom();
+
+ SwgConfiguration() {}
+
+ public GameServer getGameServer() {
+ return gameServer;
+ }
+
+ public CentralServer getCentralServer() {
+ return centralServer;
+ }
+
+ public ServerMetrics getServerMetrics() {
+ return serverMetrics;
+ }
+
+ public ChatServer getChatServer() {
+ return chatServer;
+ }
+
+ public CommodityServer getCommodityServer() {
+ return commodityServer;
+ }
+
+ public PlanetServer getPlanetServer() {
+ return planetServer;
+ }
+
+ public ConnectionServer getConnectionServer() {
+ return connectionServer;
+ }
+
+ public LoginServer getLoginServer() {
+ return loginServer;
+ }
+
+ public ScriptFlags getScriptFlags() {
+ return scriptFlags;
+ }
+
+ public Quest getQuest() {
+ return quest;
+ }
+
+ public BestineEvents getBestineEvents() {
+ return bestineEvents;
+ }
+
+ public SharedLog getSharedLog() {
+ return sharedLog;
+ }
+
+ public SharedNetwork getSharedNetwork() {
+ return sharedNetwork;
+ }
+
+ public SharedFoundation getSharedFoundation() {
+ return sharedFoundation;
+ }
+
+ public Dungeon getDungeon() {
+ return dungeon;
+ }
+
+ public EventTeam getEventTeam() {
+ return eventTeam;
+ }
+
+ public CharacterBuilder getCharacterBuilder() {
+ return characterBuilder;
+ }
+
+ public Custom getCustom() {
+ return custom;
+ }
+
+ public String toString() {
+ String output = "[CentralServer]" + centralServer.toString();
+ output += "[ServerMetrics]" + serverMetrics.toString();
+ output += "[ChatServer]" + chatServer.toString();
+ output += "[CommodityServer]" + commodityServer.toString();
+ output += "[PlanetServer]" + planetServer.toString();
+ output += "[ConnectionServer]" + connectionServer.toString();
+ output += "[LoginServer]" + loginServer.toString();
+ output += "[ScriptFlags]" + scriptFlags.toString();
+ output += "[Quest]" + quest.toString();
+ output += "[BestineEvents]" + bestineEvents.toString();
+ output += "[SharedLog]" + sharedLog.toString();
+ output += "[SharedNetwork]" + sharedNetwork.toString();
+ output += "[SharedFoundation]" + sharedFoundation.toString();
+ output += "[Dungeon]" + dungeon.toString();
+ output += "[EventTeam]" + eventTeam.toString();
+ output += "[GameServer]" + gameServer.toString();
+ output += "[CharacterBuilder]" + characterBuilder.toString();
+ output += "[Custom]" + custom.toString();
+ return output + "\n\n";
+ }
+
+ public static class CentralServer {
+ private boolean auctionEnabled;
+ private boolean developmentMode;
+ private String clusterName;
+ private String metricsDataURL;
+ private int webUpdateIntervalSeconds;
+ private boolean newbieTutorialEnabled;
+ private List startPlanet;
+
+ CentralServer() {}
+
+ public String toString() {
+ String output = "\nauctionEnabled=" + auctionEnabled;
+ output += "\ndevelopmentMode=" + developmentMode;
+ output += "\nclusterName=" + clusterName;
+ output += "\nmetricsDataURL=" + metricsDataURL;
+ output += "\nnewbieTutorialEnabled=" + newbieTutorialEnabled;
+ output += "\nwebUpdateIntervalSeconds=" + webUpdateIntervalSeconds;
+ for(StartPlanet planet : startPlanet) {
+ output += planet.toString();
+ }
+ return output + "\n\n";
+ }
+
+ public String getClusterName() {
+ return clusterName;
+ }
+
+ public void setClusterName(String clusterName) {
+ this.clusterName = clusterName;
+ }
+
+ public String getMetricsDataURL() {
+ return metricsDataURL;
+ }
+
+ public void setMetricsDataURL(String metricsDataURL) {
+ this.metricsDataURL = metricsDataURL;
+ }
+
+ public int getWebUpdateIntervalSeconds() {
+ return webUpdateIntervalSeconds;
+ }
+
+ public void setWebUpdateIntervalSeconds(int webUpdateIntervalSeconds) {
+ this.webUpdateIntervalSeconds = webUpdateIntervalSeconds;
+ }
+
+ public boolean isNewbieTutorialEnabled() {
+ return newbieTutorialEnabled;
+ }
+
+ public void setNewbieTutorialEnabled(boolean newbieTutorialEnabled) {
+ this.newbieTutorialEnabled = newbieTutorialEnabled;
+ }
+
+ public List getStartPlanet() {
+ return startPlanet;
+ }
+
+ public void setStartPlanet(List startPlanet) {
+ this.startPlanet = startPlanet;
+ }
+
+ public boolean isAuctionEnabled() {
+ return auctionEnabled;
+ }
+
+ public void setAuctionEnabled(boolean auctionEnabled) {
+ this.auctionEnabled = auctionEnabled;
+ }
+
+ public boolean isDevelopmentMode() {
+ return developmentMode;
+ }
+
+ public void setDevelopmentMode(boolean developmentMode) {
+ this.developmentMode = developmentMode;
+ }
+
+ public static class StartPlanet {
+ private String name;
+ private boolean active;
+
+ StartPlanet() {}
+
+ public String toString() {
+ String output = "\nstartPlanet=" + name;
+ return active ? output : "";
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public boolean isActive() {
+ return active;
+ }
+
+ public void setActive(boolean active) {
+ this.active = active;
+ }
+ }
+ }
+
+ public static class ServerMetrics {
+ private int metricsServerPort;
+
+ ServerMetrics() {}
+
+ public String toString() {
+ String output = "\nmetricsServerPort=" + metricsServerPort;
+ return output + "\n\n";
+ }
+
+ public int getMetricsServerPort() {
+ return metricsServerPort;
+ }
+
+ public void setMetricsServerPort(int metricsServerPort) {
+ this.metricsServerPort = metricsServerPort;
+ }
+ }
+
+ public static class ChatServer {
+ private String centralServerAddress;
+ private String clusterName;
+ private String gatewayServerIp;
+ private int gatewayServerPort;
+ private boolean loggingEnabled;
+ private String registrarHost;
+ private int registrarPort;
+
+ ChatServer() {}
+
+ public String toString() {
+ String output = "\ncentralServerAddress=" + centralServerAddress;
+ output += "\nclusterName=" + clusterName;
+ output += "\ngatewayServerIP=" + gatewayServerIp;
+ output += "\ngatewayServerPort=" + gatewayServerPort;
+ output += "\nloggingEnabled=" + loggingEnabled;
+ output += "\nregistrarHost=" + registrarHost;
+ output += "\nregistrarPort=" + registrarPort;
+ return output + "\n\n";
+ }
+
+ public String getCentralServerAddress() {
+ return centralServerAddress;
+ }
+
+ public void setCentralServerAddress(String centralServerAddress) {
+ this.centralServerAddress = centralServerAddress;
+ }
+
+ public String getClusterName() {
+ return clusterName;
+ }
+
+ public void setClusterName(String clusterName) {
+ this.clusterName = clusterName;
+ }
+
+ public String getGatewayServerIp() {
+ return gatewayServerIp;
+ }
+
+ public void setGatewayServerIp(String gatewayServerIp) {
+ this.gatewayServerIp = gatewayServerIp;
+ }
+
+ public int getGatewayServerPort() {
+ return gatewayServerPort;
+ }
+
+ public void setGatewayServerPort(int gatewayServerPort) {
+ this.gatewayServerPort = gatewayServerPort;
+ }
+
+ public boolean isLoggingEnabled() {
+ return loggingEnabled;
+ }
+
+ public void setLoggingEnabled(boolean loggingEnabled) {
+ this.loggingEnabled = loggingEnabled;
+ }
+
+ public String getRegistrarHost() {
+ return registrarHost;
+ }
+
+ public void setRegistrarHost(String registrarHost) {
+ this.registrarHost = registrarHost;
+ }
+
+ public int getRegistrarPort() {
+ return registrarPort;
+ }
+
+ public void setRegistrarPort(int registrarPort) {
+ this.registrarPort = registrarPort;
+ }
+ }
+
+ public static class CommodityServer {
+ private boolean developmentMode;
+ private int maxAuctionsPerPlayer;
+ private int minutesActiveToUnaccessed;
+ private int minutesBazaarAuctionTimer;
+ private int minutesBazaarItemTimer;
+ private int minutesEmptyToEndangered;
+ private int minutesUnaccessedToEndangered;
+ private int minutesEndangeredToRemoved;
+ private int minutesVendorAuctionTimer;
+ private int minutesVendorItemTimer;
+
+ CommodityServer() {}
+
+ public String toString() {
+ String output = "\ndevelopmentMode=" + developmentMode;
+ output += "\nmaxAuctionsPerPlayer=" + maxAuctionsPerPlayer;
+ output += "\nminutesActiveToUnaccessed=" + minutesActiveToUnaccessed;
+ output += "\nminutesBazaarAuctionTimer=" + minutesBazaarAuctionTimer;
+ output += "\nminutesBazaarItemTimer=" + minutesBazaarItemTimer;
+ output += "\nminutesEmptyToEndangered=" + minutesEmptyToEndangered;
+ output += "\nminutesUnaccessedToEndangered=" + minutesUnaccessedToEndangered;
+ output += "\nminutesEndangeredToRemoved=" + minutesEndangeredToRemoved;
+ output += "\nminutesVendorAuctionTimer=" + minutesVendorAuctionTimer;
+ output += "\nminutesVendorItemTimer=" + minutesVendorItemTimer;
+ return output + "\n\n";
+ }
+
+ public boolean isDevelopmentMode() {
+ return developmentMode;
+ }
+
+ public void setDevelopmentMode(boolean developmentMode) {
+ this.developmentMode = developmentMode;
+ }
+
+ public int getMaxAuctionsPerPlayer() {
+ return maxAuctionsPerPlayer;
+ }
+
+ public void setMaxAuctionsPerPlayer(int maxAuctionsPerPlayer) {
+ this.maxAuctionsPerPlayer = maxAuctionsPerPlayer;
+ }
+
+ public int getMinutesBazaarAuctionTimer() {
+ return minutesBazaarAuctionTimer;
+ }
+
+ public void setMinutesBazaarAuctionTimer(int minutesBazaarAuctionTimer) {
+ this.minutesBazaarAuctionTimer = minutesBazaarAuctionTimer;
+ }
+
+ public int getMinutesBazaarItemTimer() {
+ return minutesBazaarItemTimer;
+ }
+
+ public void setMinutesBazaarItemTimer(int minutesBazaarItemTimer) {
+ this.minutesBazaarItemTimer = minutesBazaarItemTimer;
+ }
+
+ public int getMinutesActiveToUnaccessed() {
+ return minutesActiveToUnaccessed;
+ }
+
+ public void setMinutesActiveToUnaccessed(int minutesActiveToUnaccessed) {
+ this.minutesActiveToUnaccessed = minutesActiveToUnaccessed;
+ }
+
+ public int getMinutesEmptyToEndangered() {
+ return minutesEmptyToEndangered;
+ }
+
+ public void setMinutesEmptyToEndangered(int minutesEmptyToEndangered) {
+ this.minutesEmptyToEndangered = minutesEmptyToEndangered;
+ }
+
+ public int getMinutesUnaccessedToEndangered() {
+ return minutesUnaccessedToEndangered;
+ }
+
+ public void setMinutesUnaccessedToEndangered(int minutesUnaccessedToEndangered) {
+ this.minutesUnaccessedToEndangered = minutesUnaccessedToEndangered;
+ }
+
+ public int getMinutesEndangeredToRemoved() {
+ return minutesEndangeredToRemoved;
+ }
+
+ public void setMinutesEndangeredToRemoved(int minutesEndangeredToRemoved) {
+ this.minutesEndangeredToRemoved = minutesEndangeredToRemoved;
+ }
+
+ public int getMinutesVendorAuctionTimer() {
+ return minutesVendorAuctionTimer;
+ }
+
+ public void setMinutesVendorAuctionTimer(int minutesVendorAuctionTimer) {
+ this.minutesVendorAuctionTimer = minutesVendorAuctionTimer;
+ }
+
+ public int getMinutesVendorItemTimer() {
+ return minutesVendorItemTimer;
+ }
+
+ public void setMinutesVendorItemTimer(int minutesVendorItemTimer) {
+ this.minutesVendorItemTimer = minutesVendorItemTimer;
+ }
+ }
+
+ public static class PlanetServer {
+ private boolean loadWholePlanet;
+ private boolean loadWholePlanetMultiserver;
+ private int numTutorialServers;
+
+ PlanetServer() {}
+
+ public String toString() {
+ String output = "\nloadWholePlanet=" + loadWholePlanet;
+ output += "\nloadWholePlanetMultiserver=" + loadWholePlanetMultiserver;
+ output += "\nnumTutorialServers=" + numTutorialServers;
+ return output + "\n\n";
+ }
+
+ public boolean isLoadWholePlanet() {
+ return loadWholePlanet;
+ }
+
+ public void setLoadWholePlanet(boolean loadWholePlanet) {
+ this.loadWholePlanet = loadWholePlanet;
+ }
+
+ public boolean isLoadWholePlanetMultiserver() {
+ return loadWholePlanetMultiserver;
+ }
+
+ public void setLoadWholePlanetMultiserver(boolean loadWholePlanetMultiserver) {
+ this.loadWholePlanetMultiserver = loadWholePlanetMultiserver;
+ }
+
+ public int getNumTutorialServers() {
+ return numTutorialServers;
+ }
+
+ public void setNumTutorialServers(int numTutorialServers) {
+ this.numTutorialServers = numTutorialServers;
+ }
+ }
+
+ public static class ConnectionServer {
+ private String adminAccountDataTable;
+ private int pingPort;
+ private String customerServiceBindInterface;
+ private String chatServiceBindInterface;
+ private boolean disableWorldSnapshot;
+ private boolean validateClientVersion;
+ private boolean validateStationKey;
+ private int clientOverflowLimit;
+
+ ConnectionServer() {}
+
+ public String toString() {
+ String output = "\nadminAccountDataTable=" + adminAccountDataTable;
+ output += "\npingPort=" + pingPort;
+ output += "\ncustomerServiceBindInterface=" + customerServiceBindInterface;
+ output += "\nchatServiceBindInterface=" + chatServiceBindInterface;
+ output += "\ndisableWorldSnapshot=" + disableWorldSnapshot;
+ output += "\nvalidateClientVersion=" + validateClientVersion;
+ output += "\nvalidateStationKey=" + validateStationKey;
+ output += "\nclientOverflowLimit=" + clientOverflowLimit;
+ return output + "\n\n";
+ }
+
+ public String getAdminAccountDataTable() {
+ return adminAccountDataTable;
+ }
+
+ public void setAdminAccountDataTable(String adminAccountDataTable) {
+ this.adminAccountDataTable = adminAccountDataTable;
+ }
+
+ public int getPingPort() {
+ return pingPort;
+ }
+
+ public void setPingPort(int pingPort) {
+ this.pingPort = pingPort;
+ }
+
+ public String getCustomerServiceBindInterface() {
+ return customerServiceBindInterface;
+ }
+
+ public void setCustomerServiceBindInterface(String customerServiceBindInterface) {
+ this.customerServiceBindInterface = customerServiceBindInterface;
+ }
+
+ public String getChatServiceBindInterface() {
+ return chatServiceBindInterface;
+ }
+
+ public void setChatServiceBindInterface(String chatServiceBindInterface) {
+ this.chatServiceBindInterface = chatServiceBindInterface;
+ }
+
+ public boolean isDisableWorldSnapshot() {
+ return disableWorldSnapshot;
+ }
+
+ public void setDisableWorldSnapshot(boolean disableWorldSnapshot) {
+ this.disableWorldSnapshot = disableWorldSnapshot;
+ }
+
+ public boolean isValidateClientVersion() {
+ return validateClientVersion;
+ }
+
+ public void setValidateClientVersion(boolean validateClientVersion) {
+ this.validateClientVersion = validateClientVersion;
+ }
+
+ public boolean isValidateStationKey() {
+ return validateStationKey;
+ }
+
+ public void setValidateStationKey(boolean validateStationKey) {
+ this.validateStationKey = validateStationKey;
+ }
+
+ public int getClientOverflowLimit() {
+ return clientOverflowLimit;
+ }
+
+ public void setClientOverflowLimit(int clientOverflowLimit) {
+ this.clientOverflowLimit = clientOverflowLimit;
+ }
+ }
+
+ public static class LoginServer {
+ private boolean validateClientVersion;
+ private boolean validateStationKey;
+ private boolean easyExternalAccess;
+
+ LoginServer() {}
+
+ public String toString() {
+ String output = "\nvalidateClientVersion=" + validateClientVersion;
+ output += "\nvalidateStationKey=" + validateStationKey;
+ output += "\neasyExternalAccess=" + easyExternalAccess;
+ return output + "\n\n";
+ }
+
+ public boolean isValidateClientVersion() {
+ return validateClientVersion;
+ }
+
+ public void setValidateClientVersion(boolean validateClientVersion) {
+ this.validateClientVersion = validateClientVersion;
+ }
+
+ public boolean isValidateStationKey() {
+ return validateStationKey;
+ }
+
+ public void setValidateStationKey(boolean validateStationKey) {
+ this.validateStationKey = validateStationKey;
+ }
+
+ public boolean isEasyExternalAccess() {
+ return easyExternalAccess;
+ }
+
+ public void setEasyExternalAccess(boolean easyExternalAccess) {
+ this.easyExternalAccess = easyExternalAccess;
+ }
+ }
+
+ public static class ScriptFlags {
+ private boolean liveSpaceServer;
+ private boolean spawnersOn;
+ private boolean npeSequencersActive;
+
+ ScriptFlags() {}
+
+ public String toString() {
+ String output = "\nliveSpaceServer=" + liveSpaceServer;
+ output += "\nspawnersOn=" + spawnersOn;
+ output += "\nnpeSequencersActive=" + npeSequencersActive;
+ return output + "\n\n";
+ }
+
+ public boolean isLiveSpaceServer() {
+ return liveSpaceServer;
+ }
+
+ public void setLiveSpaceServer(boolean liveSpaceServer) {
+ this.liveSpaceServer = liveSpaceServer;
+ }
+
+ public boolean isSpawnersOn() {
+ return spawnersOn;
+ }
+
+ public void setSpawnersOn(boolean spawnersOn) {
+ this.spawnersOn = spawnersOn;
+ }
+
+ public boolean isNpeSequencersActive() {
+ return npeSequencersActive;
+ }
+
+ public void setNpeSequencersActive(boolean npeSequencersActive) {
+ this.npeSequencersActive = npeSequencersActive;
+ }
+ }
+
+ public static class Quest {
+ private boolean craftingContract;
+ private boolean crowdPleaser;
+ private int communityCraftingLimit;
+
+ Quest() {}
+
+ public String toString() {
+ String output = "\nCraftingContract=" + craftingContract;
+ output += "\nCrowdPleaser=" + crowdPleaser;
+ output += "\nCommunityCraftingLimit=" + communityCraftingLimit;
+ return output + "\n\n";
+ }
+
+ public boolean isCraftingContract() {
+ return craftingContract;
+ }
+
+ public void setCraftingContract(boolean craftingContract) {
+ this.craftingContract = craftingContract;
+ }
+
+ public boolean isCrowdPleaser() {
+ return crowdPleaser;
+ }
+
+ public void setCrowdPleaser(boolean crowdPleaser) {
+ this.crowdPleaser = crowdPleaser;
+ }
+
+ public int getCommunityCraftingLimit() {
+ return communityCraftingLimit;
+ }
+
+ public void setCommunityCraftingLimit(int communityCraftingLimit) {
+ this.communityCraftingLimit = communityCraftingLimit;
+ }
+ }
+
+ public static class BestineEvents {
+ private int politicianEventDuration;
+ private int museumEventDuration;
+
+ BestineEvents() {}
+
+ public String toString() {
+ String output = "\nPoliticianEventDuration=" + politicianEventDuration;
+ output += "\nMuseumEventDuration=" + museumEventDuration;
+ return output + "\n\n";
+ }
+
+ public int getPoliticianEventDuration() {
+ return politicianEventDuration;
+ }
+
+ public void setPoliticianEventDuration(int politicianEventDuration) {
+ this.politicianEventDuration = politicianEventDuration;
+ }
+
+ public int getMuseumEventDuration() {
+ return museumEventDuration;
+ }
+
+ public void setMuseumEventDuration(int museumEventDuration) {
+ this.museumEventDuration = museumEventDuration;
+ }
+ }
+
+ public static class SharedLog {
+ private String logTarget;
+
+ SharedLog() {}
+
+ public String toString() {
+ String output = "\nlogTarget=" + logTarget;
+ return output + "\n\n";
+ }
+
+ public String getLogTarget() {
+ return logTarget;
+ }
+
+ public void setLogTarget(String logTarget) {
+ this.logTarget = logTarget;
+ }
+ }
+
+ public static class SharedNetwork {
+ private int oldestUnacknowledgedTimeout;
+ private int noDataTimeout;
+
+ SharedNetwork() {}
+
+ public String toString() {
+ String output = "\noldestUnacknowledgedTimeout=" + oldestUnacknowledgedTimeout;
+ output += "\nnoDataTimeout=" + noDataTimeout;
+ return output + "\n\n";
+ }
+
+ public int getOldestUnacknowledgedTimeout() {
+ return oldestUnacknowledgedTimeout;
+ }
+
+ public void setOldestUnacknowledgedTimeout(int oldestUnacknowledgedTimeout) {
+ this.oldestUnacknowledgedTimeout = oldestUnacknowledgedTimeout;
+ }
+
+ public int getNoDataTimeout() {
+ return noDataTimeout;
+ }
+
+ public void setNoDataTimeout(int noDataTimeout) {
+ this.noDataTimeout = noDataTimeout;
+ }
+ }
+
+ public static class SharedFoundation {
+ private float frameRateLimit;
+ private int fatalCallStackDepth;
+ private int warningCallStackDepth;
+
+ SharedFoundation() {}
+
+ public String toString() {
+ String output = "\nframeRateLimit=" + frameRateLimit;
+ output += "\nfatalCallStackDepth=" + fatalCallStackDepth;
+ output += "\nwarningCallStackDepth=" + warningCallStackDepth;
+ return output + "\n\n";
+ }
+
+ public float getFrameRateLimit() {
+ return frameRateLimit;
+ }
+
+ public void setFrameRateLimit(float frameRateLimit) {
+ this.frameRateLimit = frameRateLimit;
+ }
+
+ public int getFatalCallStackDepth() {
+ return fatalCallStackDepth;
+ }
+
+ public void setFatalCallStackDepth(int fatalCallStackDepth) {
+ this.fatalCallStackDepth = fatalCallStackDepth;
+ }
+
+ public int getWarningCallStackDepth() {
+ return warningCallStackDepth;
+ }
+
+ public void setWarningCallStackDepth(int warningCallStackDepth) {
+ this.warningCallStackDepth = warningCallStackDepth;
+ }
+ }
+
+ public static class Dungeon {
+ private boolean deathWatch;
+ private boolean corellianCorvetteNeutral;
+ private boolean corellianCorvetteImperial;
+ private boolean corellianCorvetteRebel;
+ private boolean serverSwitch;
+ private boolean geonosian;
+
+ Dungeon() {}
+
+ public String toString() {
+ String output = "\nDeath_Watch=" + deathWatch;
+ output += "\nCorellian_Corvette_Neutral=" + corellianCorvetteNeutral;
+ output += "\nCorellian_Corvette_Imperial=" + corellianCorvetteImperial;
+ output += "\nCorellian_Corvette_Rebel=" + corellianCorvetteRebel;
+ output += "\nserverSwitch=" + serverSwitch;
+ output += "\nGeonosian=" + geonosian;
+ return output + "\n\n";
+ }
+
+ public boolean isDeathWatch() {
+ return deathWatch;
+ }
+
+ public void setDeathWatch(boolean deathWatch) {
+ this.deathWatch = deathWatch;
+ }
+
+ public boolean isCorellianCorvetteNeutral() {
+ return corellianCorvetteNeutral;
+ }
+
+ public void setCorellianCorvetteNeutral(boolean corellianCorvetteNeutral) {
+ this.corellianCorvetteNeutral = corellianCorvetteNeutral;
+ }
+
+ public boolean isCorellianCorvetteImperial() {
+ return corellianCorvetteImperial;
+ }
+
+ public void setCorellianCorvetteImperial(boolean corellianCorvetteImperial) {
+ this.corellianCorvetteImperial = corellianCorvetteImperial;
+ }
+
+ public boolean isCorellianCorvetteRebel() {
+ return corellianCorvetteRebel;
+ }
+
+ public void setCorellianCorvetteRebel(boolean corellianCorvetteRebel) {
+ this.corellianCorvetteRebel = corellianCorvetteRebel;
+ }
+
+ public boolean isServerSwitch() {
+ return serverSwitch;
+ }
+
+ public void setServerSwitch(boolean serverSwitch) {
+ this.serverSwitch = serverSwitch;
+ }
+
+ public boolean isGeonosian() {
+ return geonosian;
+ }
+
+ public void setGeonosian(boolean geonosian) {
+ this.geonosian = geonosian;
+ }
+ }
+
+ public static class EventTeam {
+ private boolean gcwRaid;
+ private boolean forceFoolsDay;
+ private boolean anniversary;
+ private boolean restussEvent;
+ private int restussPhase;
+ private boolean restussProgressionOn;
+
+ EventTeam() {}
+
+ public String toString() {
+ String output = "\ngcwraid=" + gcwRaid;
+ output += "\nforceFoolsDay=" + forceFoolsDay;
+ output += "\nanniversary=" + anniversary;
+ output += "\nrestussEvent=" + restussEvent;
+ output += "\nrestussPhase=" + restussPhase;
+ output += "\nrestussProgressionOn=" + restussProgressionOn;
+ return output + "\n\n";
+ }
+
+ public boolean isGcwRaid() {
+ return gcwRaid;
+ }
+
+ public void setGcwRaid(boolean gcwraid) {
+ this.gcwRaid = gcwraid;
+ }
+
+ public boolean isForceFoolsDay() {
+ return forceFoolsDay;
+ }
+
+ public void setForceFoolsDay(boolean forceFoolsDay) {
+ this.forceFoolsDay = forceFoolsDay;
+ }
+
+ public boolean isAnniversary() {
+ return anniversary;
+ }
+
+ public void setAnniversary(boolean anniversary) {
+ this.anniversary = anniversary;
+ }
+
+ public boolean isRestussEvent() {
+ return restussEvent;
+ }
+
+ public void setRestussEvent(boolean restussEvent) {
+ this.restussEvent = restussEvent;
+ }
+
+ public int getRestussPhase() {
+ return restussPhase;
+ }
+
+ public void setRestussPhase(int restussPhase) {
+ this.restussPhase = restussPhase;
+ }
+
+ public boolean isRestussProgressionOn() {
+ return restussProgressionOn;
+ }
+
+ public void setRestussProgressionOn(boolean restussProgressionOn) {
+ this.restussProgressionOn = restussProgressionOn;
+ }
+ }
+
+ public static class GameServer {
+ private String adminAccountDataTable;
+ private boolean adminGodToAll;
+ private int adminGodToAllGodLevel;
+ private boolean adminPersistAllCreates;
+ private float aiAssistRadius;
+ private float aiBaseAggroRadius;
+ private boolean aiClientDebugEnabled;
+ private float aiLeashRadius;
+ private boolean aiLoggingEnabled;
+ private float aiMaxAggroRadius;
+ private float armorDamageReduction;
+ private float buddyPointTimeBonus;
+ private boolean buildoutAreaEditingEnabled;
+ private int cityCitizenshipInactivePackupInactiveTimeSeconds;
+ private boolean commoditiesShowAllDebugInfo;
+ private int craftingXpChance;
+ private boolean deactivateHarvesterIfDamaged;
+ private float defaultActionRegen;
+ private int defaultAutoExpireTargetDuration;
+ private float defaultHealthRegen;
+ private boolean disableMissions;
+ private boolean disableResources;
+ private boolean disableTravel;
+ private boolean enableNewVeteranRewards;
+ private boolean enableOneYearAnniversary;
+ private boolean enableVeteranRewards;
+ private int gcwDaysRequiredForGcwRegionDefenderBonus;
+ private int gcwFactionalPresenceAlignedCityAgeBonusPct;
+ private int gcwFactionalPresenceAlignedCityBonusPct;
+ private int gcwFactionalPresenceAlignedCityRankBonusPct;
+ private int gcwFactionalPresenceGcwRankBonusPct;
+ private int gcwFactionalPresenceLevelPct;
+ private int gcwFactionalPresenceMountedPct;
+ private int gcwGuildMinMembersForGcwRegionDefender;
+ private int gcwRecalcTimeDayOfWeek;
+ private int gcwRecalcTimeHour;
+ private int gcwRecalcTimeMinute;
+ private int gcwRecalcTimeSecond;
+ private int gcwRegionDefenderTotalBonusPct;
+ private int gcwScoreDecayTimeDayOfWeek;
+ private int gcwScoreDecayTimeHour;
+ private int gcwScoreDecayTimeMinute;
+ private int gcwScoreDecayTimeSecond;
+ private float gcwXpBonus;
+ private float harvesterExtractionRateMultiplier;
+ private int houseItemLimitMultiplier;
+ private int idleLogoutTimeSec;
+ private boolean javaConsoleDebugMessages;
+ private boolean javaEngineProfiling;
+ private String javaVMName;
+ private List javaOptions;
+ private float manufactureTimeOverride;
+ private int maxCombatRange;
+ private int maxGalacticReserveDepositBillion;
+ private int maxHouseItemLimit;
+ private int maxItemAttribBonus;
+ private int maxLotsPerAccount;
+ private int maxMoney;
+ private int maxMoneyTransfer;
+ private int maxObjectSkillModBonus;
+ private int maxReimburseAmount;
+ private int maxSocketSkillModBonus;
+ private int maxTotalAttribBonus;
+ private boolean mountsEnabled;
+ private boolean nameValidationAcceptAll;
+ private boolean newbieTutorialEnabled;
+ private boolean pvpDisableCombat;
+ private int pvpGuildWarCoolDownPeriodTimeMs;
+ private boolean reportAiWarnings;
+ private int resourceTimeScale;
+ private int secondsPerResourceTick;
+ private boolean sendBreadcrumbs;
+ private boolean shipsEnabled;
+ private boolean spawnAllResources;
+ private int unclaimedAuctionItemDestroyTimeSec;
+ private int debugMode;
+ private String serverLoadLevel;
+ private int suiListLimit;
+ private boolean createZoneObjects;
+ private String centralServerAddress;
+ private String maxGoldNetworkId;
+ private int scriptWatcherWarnTime;
+ private int scriptWatcherInterruptTime;
+ private boolean commoditiesMarketEnabled;
+ private boolean createAppearances;
+ private boolean fatalOnGoldPobChange;
+ private boolean allowMasterObjectCreation;
+ private int reservedObjectIds;
+ private boolean enablePreload;
+ private boolean allowPlayersToPackVendors;
+ private String grantGift;
+ private int serverSpawnLimit;
+ private boolean disableAreaSpawners;
+ private boolean disablePatrolSpawners;
+ private boolean veteranDebugEnableOverrideAccountAge;
+ private boolean veteranDebugTriggerAll;
+ private int veteranRewardTradeInWaitPeriodSeconds;
+ private int weatherUpdateSeconds;
+ private boolean flashSpeederReward;
+ private int combatUpgradeReward;
+ private boolean lifeday;
+ private boolean loveday;
+ private boolean deleteEventProps;
+ private boolean halloween;
+ private boolean foolsDay;
+ private boolean empireday_ceremony;
+ private boolean enableCovertImperialMercenary;
+ private boolean enableOvertImperialMercenary;
+ private boolean enableCovertRebelMercenary;
+ private boolean enableOvertRebelMercenary;
+ private float hibernateDistance;
+ private boolean hibernateEnabled;
+ private boolean hibernateProxies;
+ private boolean gcwCityKeren;
+ private boolean gcwCityBestine;
+ private boolean gcwCityDearic;
+ private int gcwInvasionCityMaximumRunning;
+ private int gcwInvasionCycleTime;
+ private boolean sendPlayerTransform;
+ private int xpMultiplier;
+ private float chroniclesXpModifier;
+ private int chroniclesQuestorGoldTokenChanceOverride;
+ private int chroniclesChroniclerGoldTokenChanceOverride;
+ private float chroniclesChroniclerSilverTokenNumModifier;
+ private float chroniclesQuestorSilverTokenNumModifier;
+ private float gcwPointBonus;
+ private float gcwTokenBonus;
+ private int triggerVolumeSystem;
+
+ GameServer() {}
+
+ public String toString() {
+ String output = "\nadminAccountDataTable=" + adminAccountDataTable;
+ output += "\nadminGodToAll=" + adminGodToAll;
+ output += "\nadminGodToAllGodLevel=" + adminGodToAllGodLevel;
+ output += "\nadminPersistAllCreates=" + adminPersistAllCreates;
+ output += "\naiAssistRadius=" + aiAssistRadius;
+ output += "\naiBaseAggroRadius=" + aiBaseAggroRadius;
+ output += "\naiClientDebugEnabled=" + aiClientDebugEnabled;
+ output += "\naiLeashRadius=" + aiLeashRadius;
+ output += "\naiLoggingEnabled=" + aiLoggingEnabled;
+ output += "\naiMaxAggroRadius=" + aiMaxAggroRadius;
+ output += "\narmorDamageReduction=" + armorDamageReduction;
+ output += "\nbuddyPointTimeBonus=" + buddyPointTimeBonus;
+ output += "\nbuildoutAreaEditingEnabled=" + buildoutAreaEditingEnabled;
+ output += "\ncityCitizenshipInactivePackupInactiveTimeSeconds=" + cityCitizenshipInactivePackupInactiveTimeSeconds;
+ output += "\ncommoditiesShowAllDebugInfo=" + commoditiesShowAllDebugInfo;
+ output += "\ncraftingXpChance=" + craftingXpChance;
+ output += "\ndeactivateHarvesterIfDamaged=" + deactivateHarvesterIfDamaged;
+ output += "\ndefaultActionRegen=" + defaultActionRegen;
+ output += "\ndefaultAutoExpireTargetDuration=" + defaultAutoExpireTargetDuration;
+ output += "\ndefaultHealthRegen=" + defaultHealthRegen;
+ output += "\ndisableMissions=" + disableMissions;
+ output += "\ndisableResources=" + disableResources;
+ output += "\ndisableTravel=" + disableTravel;
+ output += "\nenableNewVeteranRewards=" + enableNewVeteranRewards;
+ output += "\nenableVeteranRewards=" + enableVeteranRewards;
+ output += "\nenableOneYearAnniversary=" + enableOneYearAnniversary;
+ output += "\ngcwDaysRequiredForGcwRegionDefenderBonus=" + gcwDaysRequiredForGcwRegionDefenderBonus;
+ output += "\ngcwFactionalPresenceAlignedCityAgeBonusPct=" + gcwFactionalPresenceAlignedCityAgeBonusPct;
+ output += "\ngcwFactionalPresenceAlignedCityBonusPct=" + gcwFactionalPresenceAlignedCityBonusPct;
+ output += "\ngcwFactionalPresenceAlignedCityRankBonusPct=" + gcwFactionalPresenceAlignedCityRankBonusPct;
+ output += "\ngcwFactionalPresenceGcwRankBonusPct=" + gcwFactionalPresenceGcwRankBonusPct;
+ output += "\ngcwFactionalPresenceLevelPct=" + gcwFactionalPresenceLevelPct;
+ output += "\ngcwFactionalPresenceMountedPct=" + gcwFactionalPresenceMountedPct;
+ output += "\ngcwGuildMinMembersForGcwRegionDefender=" + gcwGuildMinMembersForGcwRegionDefender;
+ output += "\ngcwRecalcTimeDayOfWeek=" + gcwRecalcTimeDayOfWeek;
+ output += "\ngcwRecalcTimeHour=" + gcwRecalcTimeHour;
+ output += "\ngcwRecalcTimeMinute=" + gcwRecalcTimeMinute;
+ output += "\ngcwRecalcTimeSecond=" + gcwRecalcTimeSecond;
+ output += "\ngcwRegionDefenderTotalBonusPct=" + gcwRegionDefenderTotalBonusPct;
+ output += "\ngcwScoreDecayTimeDayOfWeek=" + gcwScoreDecayTimeDayOfWeek;
+ output += "\ngcwScoreDecayTimeHour=" + gcwScoreDecayTimeHour;
+ output += "\ngcwScoreDecayTimeMinute=" + gcwScoreDecayTimeMinute;
+ output += "\ngcwScoreDecayTimeSecond=" + gcwScoreDecayTimeSecond;
+ output += "\ngcwXpBonus=" + gcwXpBonus;
+ output += "\nharvesterExtractionRateMultiplier=" + harvesterExtractionRateMultiplier;
+ output += "\nhouseItemLimitMultiplier=" + houseItemLimitMultiplier;
+ output += "\nidleLogoutTimeSec=" + idleLogoutTimeSec;
+ output += "\njavaConsoleDebugMessages=" + javaConsoleDebugMessages;
+ output += "\njavaEngineProfiling=" + javaEngineProfiling;
+ output += "\njavaVMName=" + javaVMName;
+ for(String javaOption : javaOptions) {
+ output += "\njavaOptions=" + javaOption;
+ }
+ output += "\nmanufactureTimeOverride=" + manufactureTimeOverride;
+ output += "\nmaxCombatRange=" + maxCombatRange;
+ output += "\nmaxGalacticReserveDepositBillion=" + maxGalacticReserveDepositBillion;
+ output += "\nmaxHouseItemLimit=" + maxHouseItemLimit;
+ output += "\nmaxItemAttribBonus=" + maxItemAttribBonus;
+ output += "\nmaxLotsPerAccount=" + maxLotsPerAccount;
+ output += "\nmaxMoney=" + maxMoney;
+ output += "\nmaxMoneyTransfer=" + maxMoneyTransfer;
+ output += "\nmaxObjectSkillModBonus=" + maxObjectSkillModBonus;
+ output += "\nmaxReimburseAmount=" + maxReimburseAmount;
+ output += "\nmaxSocketSkillModBonus=" + maxSocketSkillModBonus;
+ output += "\nmaxTotalAttribBonus=" + maxTotalAttribBonus;
+ output += "\nmountsEnabled=" + mountsEnabled;
+ output += "\nnameValidationAcceptAll=" + nameValidationAcceptAll;
+ output += "\nnewbieTutorialEnabled=" + newbieTutorialEnabled;
+ output += "\npvpDisableCombat=" + pvpDisableCombat;
+ output += "\npvpGuildWarCoolDownPeriodTimeMs=" + pvpGuildWarCoolDownPeriodTimeMs;
+ output += "\nreportAiWarnings=" + reportAiWarnings;
+ output += "\nresourceTimeScale=" + resourceTimeScale;
+ output += "\nsecondsPerResourceTick=" + secondsPerResourceTick;
+ output += "\nsendBreadcrumbs=" + sendBreadcrumbs;
+ output += "\nshipsEnabled=" + shipsEnabled;
+ output += "\nspawnAllResources=" + spawnAllResources;
+ output += "\ndebugMode=" + debugMode;
+ output += "\nserverLoadLevel=" + serverLoadLevel;
+ output += "\nsuiListLimit=" + suiListLimit;
+ output += "\ncreateZoneObjects=" + createZoneObjects;
+ output += "\ncentralServerAddress=" + centralServerAddress;
+ output += "\nmaxGoldNetworkId=" + maxGoldNetworkId;
+ output += "\nscriptWatcherWarnTime=" + scriptWatcherWarnTime;
+ output += "\nscriptWatcherInterruptTime=" + scriptWatcherInterruptTime;
+ output += "\ncommoditiesMarketEnabled=" + commoditiesMarketEnabled;
+ output += "\ncreateAppearances=" + createAppearances;
+ output += "\nfatalOnGoldPobChange=" + fatalOnGoldPobChange;
+ output += "\nallowMasterObjectCreation=" + allowMasterObjectCreation;
+ output += "\nreservedObjectIds=" + reservedObjectIds;
+ output += "\nenablePreload=" + enablePreload;
+ output += "\nallowPlayersToPackVendors=" + allowPlayersToPackVendors;
+ output += "\ngrantGift=" + grantGift;
+ output += "\nserverSpawnLimit=" + serverSpawnLimit;
+ output += "\ndisableAreaSpawners=" + disableAreaSpawners;
+ output += "\ndisablePatrolSpawners=" + disablePatrolSpawners;
+ output += "\nveteranDebugTriggerAll=" + veteranDebugTriggerAll;
+ output += "\nveteranDebugEnableOverrideAccountAge=" + veteranDebugEnableOverrideAccountAge;
+ output += "\nflashSpeederReward=" + flashSpeederReward;
+ output += "\ncombatUpgradeReward=" + combatUpgradeReward;
+ output += "\nlifeday=" + lifeday;
+ output += "\nloveday=" + loveday;
+ output += "\ndeleteEventProps=" + deleteEventProps;
+ output += "\nhalloween=" + halloween;
+ output += "\nfoolsDay=" + foolsDay;
+ output += "\nempireday_ceremony=" + empireday_ceremony;
+ output += "\nenableCovertImperialMercenary=" + enableCovertImperialMercenary;
+ output += "\nenableOvertImperialMercenary=" + enableOvertImperialMercenary;
+ output += "\nenableCovertRebelMercenary=" + enableCovertRebelMercenary;
+ output += "\nenableOvertRebelMercenary=" + enableOvertRebelMercenary;
+ output += "\nhibernateDistance=" + hibernateDistance;
+ output += "\nhibernateEnabled=" + hibernateEnabled;
+ output += "\nhibernateProxies=" + hibernateProxies;
+ output += "\ngcwcitykeren=" + gcwCityKeren;
+ output += "\ngcwcitybestine=" + gcwCityBestine;
+ output += "\ngcwcitydearic=" + gcwCityDearic;
+ output += "\ngcwInvasionCityMaximumRunning=" + gcwInvasionCityMaximumRunning;
+ output += "\ngcwInvasionCycleTime=" + gcwInvasionCycleTime;
+ output += "\nsendPlayerTransform=" + sendPlayerTransform;
+ output += "\nxpMultiplier=" + xpMultiplier;
+ output += "\nchroniclesXpModifier=" + chroniclesXpModifier;
+ output += "\nchroniclesQuestorGoldTokenChanceOverride=" + chroniclesQuestorGoldTokenChanceOverride;
+ output += "\nchroniclesChroniclerGoldTokenChanceOverride=" + chroniclesChroniclerGoldTokenChanceOverride;
+ output += "\nchroniclesChroniclerSilverTokenNumModifier=" + chroniclesChroniclerSilverTokenNumModifier;
+ output += "\nchroniclesQuestorSilverTokenNumModifier=" + chroniclesQuestorSilverTokenNumModifier;
+ output += "\ngcwPointBonus=" + gcwPointBonus;
+ output += "\ngcwTokenBonus=" + gcwTokenBonus;
+ output += "\ntriggerVolumeSystem=" + triggerVolumeSystem;
+ output += "\nunclaimedAuctionItemDestroyTimeSec=" + unclaimedAuctionItemDestroyTimeSec;
+ output += "\nveteranRewardTradeInWaitPeriodSeconds=" + veteranRewardTradeInWaitPeriodSeconds;
+ output += "\nweatherUpdateSeconds=" + weatherUpdateSeconds;
+ return output + "\n\n";
+ }
+
+ public boolean isEnableOneYearAnniversary() {
+ return enableOneYearAnniversary;
+ }
+
+ public void setEnableOneYearAnniversary(boolean enableOneYearAnniversary) {
+ this.enableOneYearAnniversary = enableOneYearAnniversary;
+ }
+
+ public boolean isNewbieTutorialEnabled() {
+ return newbieTutorialEnabled;
+ }
+
+ public void setNewbieTutorialEnabled(boolean newbieTutorialEnabled) {
+ this.newbieTutorialEnabled = newbieTutorialEnabled;
+ }
+
+ public int getUnclaimedAuctionItemDestroyTimeSec() {
+ return unclaimedAuctionItemDestroyTimeSec;
+ }
+
+ public void setUnclaimedAuctionItemDestroyTimeSec(int unclaimedAuctionItemDestroyTimeSec) {
+ this.unclaimedAuctionItemDestroyTimeSec = unclaimedAuctionItemDestroyTimeSec;
+ }
+
+ public int getVeteranRewardTradeInWaitPeriodSeconds() {
+ return veteranRewardTradeInWaitPeriodSeconds;
+ }
+
+ public void setVeteranRewardTradeInWaitPeriodSeconds(int veteranRewardTradeInWaitPeriodSeconds) {
+ this.veteranRewardTradeInWaitPeriodSeconds = veteranRewardTradeInWaitPeriodSeconds;
+ }
+
+ public int getWeatherUpdateSeconds() {
+ return weatherUpdateSeconds;
+ }
+
+ public void setWeatherUpdateSeconds(int weatherUpdateSeconds) {
+ this.weatherUpdateSeconds = weatherUpdateSeconds;
+ }
+
+ public String getAdminAccountDataTable() {
+ return adminAccountDataTable;
+ }
+
+ public void setAdminAccountDataTable(String adminAccountDataTable) {
+ this.adminAccountDataTable = adminAccountDataTable;
+ }
+
+ public boolean isAdminGodToAll() {
+ return adminGodToAll;
+ }
+
+ public void setAdminGodToAll(boolean adminGodToAll) {
+ this.adminGodToAll = adminGodToAll;
+ }
+
+ public int getAdminGodToAllGodLevel() {
+ return adminGodToAllGodLevel;
+ }
+
+ public void setAdminGodToAllGodLevel(int adminGodToAllGodLevel) {
+ this.adminGodToAllGodLevel = adminGodToAllGodLevel;
+ }
+
+ public int getDebugMode() {
+ return debugMode;
+ }
+
+ public void setDebugMode(int debugMode) {
+ this.debugMode = debugMode;
+ }
+
+ public String getServerLoadLevel() {
+ return serverLoadLevel;
+ }
+
+ public void setServerLoadLevel(String serverLoadLevel) {
+ this.serverLoadLevel = serverLoadLevel;
+ }
+
+ public int getIdleLogoutTimeSec() {
+ return idleLogoutTimeSec;
+ }
+
+ public void setIdleLogoutTimeSec(int idleLogoutTimeSec) {
+ this.idleLogoutTimeSec = idleLogoutTimeSec;
+ }
+
+ public int getSuiListLimit() {
+ return suiListLimit;
+ }
+
+ public void setSuiListLimit(int suiListLimit) {
+ this.suiListLimit = suiListLimit;
+ }
+
+ public boolean getCreateZoneObjects() {
+ return createZoneObjects;
+ }
+
+ public void setCreateZoneObjects(boolean createZoneObjects) {
+ this.createZoneObjects = createZoneObjects;
+ }
+
+ public String getCentralServerAddress() {
+ return centralServerAddress;
+ }
+
+ public void setCentralServerAddress(String centralServerAddress) {
+ this.centralServerAddress = centralServerAddress;
+ }
+
+ public boolean isJavaConsoleDebugMessages() {
+ return javaConsoleDebugMessages;
+ }
+
+ public void setJavaConsoleDebugMessages(boolean javaConsoleDebugMessages) {
+ this.javaConsoleDebugMessages = javaConsoleDebugMessages;
+ }
+
+ public boolean isJavaEngineProfiling() {
+ return javaEngineProfiling;
+ }
+
+ public void setJavaEngineProfiling(boolean javaEngineProfiling) {
+ this.javaEngineProfiling = javaEngineProfiling;
+ }
+
+ public String getJavaVMName() {
+ return javaVMName;
+ }
+
+ public void setJavaVMName(String javaVMName) {
+ this.javaVMName = javaVMName;
+ }
+
+ public List getJavaOptions() {
+ return javaOptions;
+ }
+
+ public void setJavaOptions(List javaOptions) {
+ this.javaOptions = javaOptions;
+ }
+
+ public String getMaxGoldNetworkId() {
+ return maxGoldNetworkId;
+ }
+
+ public void setMaxGoldNetworkId(String maxGoldNetworkId) {
+ this.maxGoldNetworkId = maxGoldNetworkId;
+ }
+
+ public boolean isNameValidationAcceptAll() {
+ return nameValidationAcceptAll;
+ }
+
+ public void setNameValidationAcceptAll(boolean nameValidationAcceptAll) {
+ this.nameValidationAcceptAll = nameValidationAcceptAll;
+ }
+
+ public int getScriptWatcherWarnTime() {
+ return scriptWatcherWarnTime;
+ }
+
+ public void setScriptWatcherWarnTime(int scriptWatcherWarnTime) {
+ this.scriptWatcherWarnTime = scriptWatcherWarnTime;
+ }
+
+ public int getScriptWatcherInterruptTime() {
+ return scriptWatcherInterruptTime;
+ }
+
+ public void setScriptWatcherInterruptTime(int scriptWatcherInterruptTime) {
+ this.scriptWatcherInterruptTime = scriptWatcherInterruptTime;
+ }
+
+ public boolean isCommoditiesMarketEnabled() {
+ return commoditiesMarketEnabled;
+ }
+
+ public void setCommoditiesMarketEnabled(boolean commoditiesMarketEnabled) {
+ this.commoditiesMarketEnabled = commoditiesMarketEnabled;
+ }
+
+ public boolean isCreateAppearances() {
+ return createAppearances;
+ }
+
+ public void setCreateAppearances(boolean createAppearances) {
+ this.createAppearances = createAppearances;
+ }
+
+ public boolean isFatalOnGoldPobChange() {
+ return fatalOnGoldPobChange;
+ }
+
+ public void setFatalOnGoldPobChange(boolean fatalOnGoldPobChange) {
+ this.fatalOnGoldPobChange = fatalOnGoldPobChange;
+ }
+
+ public boolean isAllowMasterObjectCreation() {
+ return allowMasterObjectCreation;
+ }
+
+ public void setAllowMasterObjectCreation(boolean allowMasterObjectCreation) {
+ this.allowMasterObjectCreation = allowMasterObjectCreation;
+ }
+
+ public int getReservedObjectIds() {
+ return reservedObjectIds;
+ }
+
+ public void setReservedObjectIds(int reservedObjectIds) {
+ this.reservedObjectIds = reservedObjectIds;
+ }
+
+ public boolean isEnablePreload() {
+ return enablePreload;
+ }
+
+ public void setEnablePreload(boolean enablePreload) {
+ this.enablePreload = enablePreload;
+ }
+
+ public boolean isAllowPlayersToPackVendors() {
+ return allowPlayersToPackVendors;
+ }
+
+ public void setAllowPlayersToPackVendors(boolean allowPlayersToPackVendors) {
+ this.allowPlayersToPackVendors = allowPlayersToPackVendors;
+ }
+
+ public float getManufactureTimeOverride() {
+ return manufactureTimeOverride;
+ }
+
+ public void setManufactureTimeOverride(float manufactureTimeOverride) {
+ this.manufactureTimeOverride = manufactureTimeOverride;
+ }
+
+ public boolean isDisableResources() {
+ return disableResources;
+ }
+
+ public void setDisableResources(boolean disableResources) {
+ this.disableResources = disableResources;
+ }
+
+ public boolean isSpawnAllResources() {
+ return spawnAllResources;
+ }
+
+ public void setSpawnAllResources(boolean spawnAllResources) {
+ this.spawnAllResources = spawnAllResources;
+ }
+
+ public String getGrantGift() {
+ return grantGift;
+ }
+
+ public void setGrantGift(String grantGift) {
+ this.grantGift = grantGift;
+ }
+
+ public int getMaxSocketSkillModBonus() {
+ return maxSocketSkillModBonus;
+ }
+
+ public void setMaxSocketSkillModBonus(int maxSocketSkillModBonus) {
+ this.maxSocketSkillModBonus = maxSocketSkillModBonus;
+ }
+
+ public int getMaxObjectSkillModBonus() {
+ return maxObjectSkillModBonus;
+ }
+
+ public void setMaxObjectSkillModBonus(int maxObjectSkillModBonus) {
+ this.maxObjectSkillModBonus = maxObjectSkillModBonus;
+ }
+
+ public int getMaxItemAttribBonus() {
+ return maxItemAttribBonus;
+ }
+
+ public void setMaxItemAttribBonus(int maxItemAttribBonus) {
+ this.maxItemAttribBonus = maxItemAttribBonus;
+ }
+
+ public boolean isCreateZoneObjects() {
+ return createZoneObjects;
+ }
+
+ public int getMaxTotalAttribBonus() {
+ return maxTotalAttribBonus;
+ }
+
+ public void setMaxTotalAttribBonus(int maxTotalAttribBonus) {
+ this.maxTotalAttribBonus = maxTotalAttribBonus;
+ }
+
+ public boolean isAiLoggingEnabled() {
+ return aiLoggingEnabled;
+ }
+
+ public void setAiLoggingEnabled(boolean aiLoggingEnabled) {
+ this.aiLoggingEnabled = aiLoggingEnabled;
+ }
+
+ public int getServerSpawnLimit() {
+ return serverSpawnLimit;
+ }
+
+ public void setServerSpawnLimit(int serverSpawnLimit) {
+ this.serverSpawnLimit = serverSpawnLimit;
+ }
+
+ public boolean isDisableAreaSpawners() {
+ return disableAreaSpawners;
+ }
+
+ public void setDisableAreaSpawners(boolean disableAreaSpawners) {
+ this.disableAreaSpawners = disableAreaSpawners;
+ }
+
+ public boolean isDisablePatrolSpawners() {
+ return disablePatrolSpawners;
+ }
+
+ public void setDisablePatrolSpawners(boolean disablePatrolSpawners) {
+ this.disablePatrolSpawners = disablePatrolSpawners;
+ }
+
+ public float getHarvesterExtractionRateMultiplier() {
+ return harvesterExtractionRateMultiplier;
+ }
+
+ public void setHarvesterExtractionRateMultiplier(float harvesterExtractionRateMultiplier) {
+ this.harvesterExtractionRateMultiplier = harvesterExtractionRateMultiplier;
+ }
+
+ public boolean isEnableVeteranRewards() {
+ return enableVeteranRewards;
+ }
+
+ public void setEnableVeteranRewards(boolean enableVeteranRewards) {
+ this.enableVeteranRewards = enableVeteranRewards;
+ }
+
+ public boolean isVeteranDebugTriggerAll() {
+ return veteranDebugTriggerAll;
+ }
+
+ public void setVeteranDebugTriggerAll(boolean veteranDebugTriggerAll) {
+ this.veteranDebugTriggerAll = veteranDebugTriggerAll;
+ }
+
+ public boolean isVeteranDebugEnableOverrideAccountAge() {
+ return veteranDebugEnableOverrideAccountAge;
+ }
+
+ public void setVeteranDebugEnableOverrideAccountAge(boolean veteranDebugEnableOverrideAccountAge) {
+ this.veteranDebugEnableOverrideAccountAge = veteranDebugEnableOverrideAccountAge;
+ }
+
+ public boolean isFlashSpeederReward() {
+ return flashSpeederReward;
+ }
+
+ public void setFlashSpeederReward(boolean flashSpeederReward) {
+ this.flashSpeederReward = flashSpeederReward;
+ }
+
+ public int getCombatUpgradeReward() {
+ return combatUpgradeReward;
+ }
+
+ public void setCombatUpgradeReward(int combatUpgradeReward) {
+ this.combatUpgradeReward = combatUpgradeReward;
+ }
+
+ public boolean isLifeday() {
+ return lifeday;
+ }
+
+ public void setLifeday(boolean lifeday) {
+ this.lifeday = lifeday;
+ }
+
+ public boolean isLoveday() {
+ return loveday;
+ }
+
+ public void setLoveday(boolean loveday) {
+ this.loveday = loveday;
+ }
+
+ public boolean isDeleteEventProps() {
+ return deleteEventProps;
+ }
+
+ public void setDeleteEventProps(boolean deleteEventProps) {
+ this.deleteEventProps = deleteEventProps;
+ }
+
+ public boolean isHalloween() {
+ return halloween;
+ }
+
+ public void setHalloween(boolean halloween) {
+ this.halloween = halloween;
+ }
+
+ public boolean isFoolsDay() {
+ return foolsDay;
+ }
+
+ public void setFoolsDay(boolean foolsDay) {
+ this.foolsDay = foolsDay;
+ }
+
+ public boolean isEmpireday_ceremony() {
+ return empireday_ceremony;
+ }
+
+ public void setEmpireday_ceremony(boolean empireday_ceremony) {
+ this.empireday_ceremony = empireday_ceremony;
+ }
+
+ public boolean isEnableCovertImperialMercenary() {
+ return enableCovertImperialMercenary;
+ }
+
+ public void setEnableCovertImperialMercenary(boolean enableCovertImperialMercenary) {
+ this.enableCovertImperialMercenary = enableCovertImperialMercenary;
+ }
+
+ public boolean isEnableOvertImperialMercenary() {
+ return enableOvertImperialMercenary;
+ }
+
+ public void setEnableOvertImperialMercenary(boolean enableOvertImperialMercenary) {
+ this.enableOvertImperialMercenary = enableOvertImperialMercenary;
+ }
+
+ public boolean isEnableCovertRebelMercenary() {
+ return enableCovertRebelMercenary;
+ }
+
+ public void setEnableCovertRebelMercenary(boolean enableCovertRebelMercenary) {
+ this.enableCovertRebelMercenary = enableCovertRebelMercenary;
+ }
+
+ public boolean isEnableOvertRebelMercenary() {
+ return enableOvertRebelMercenary;
+ }
+
+ public void setEnableOvertRebelMercenary(boolean enableOvertRebelMercenary) {
+ this.enableOvertRebelMercenary = enableOvertRebelMercenary;
+ }
+
+ public float getHibernateDistance() {
+ return hibernateDistance;
+ }
+
+ public void setHibernateDistance(float hibernateDistance) {
+ this.hibernateDistance = hibernateDistance;
+ }
+
+ public boolean isHibernateEnabled() {
+ return hibernateEnabled;
+ }
+
+ public void setHibernateEnabled(boolean hibernateEnabled) {
+ this.hibernateEnabled = hibernateEnabled;
+ }
+
+ public boolean isHibernateProxies() {
+ return hibernateProxies;
+ }
+
+ public void setHibernateProxies(boolean hibernateProxies) {
+ this.hibernateProxies = hibernateProxies;
+ }
+
+ public boolean isGcwCityKeren() {
+ return gcwCityKeren;
+ }
+
+ public void setGcwCityKeren(boolean gcwCityKeren) {
+ this.gcwCityKeren = gcwCityKeren;
+ }
+
+ public boolean isGcwCityBestine() {
+ return gcwCityBestine;
+ }
+
+ public void setGcwCityBestine(boolean gcwCityBestine) {
+ this.gcwCityBestine = gcwCityBestine;
+ }
+
+ public boolean isGcwCityDearic() {
+ return gcwCityDearic;
+ }
+
+ public void setGcwCityDearic(boolean gcwCityDearic) {
+ this.gcwCityDearic = gcwCityDearic;
+ }
+
+ public int getGcwInvasionCityMaximumRunning() {
+ return gcwInvasionCityMaximumRunning;
+ }
+
+ public void setGcwInvasionCityMaximumRunning(int gcwInvasionCityMaximumRunning) {
+ this.gcwInvasionCityMaximumRunning = gcwInvasionCityMaximumRunning;
+ }
+
+ public int getGcwInvasionCycleTime() {
+ return gcwInvasionCycleTime;
+ }
+
+ public void setGcwInvasionCycleTime(int gcwInvasionCycleTime) {
+ this.gcwInvasionCycleTime = gcwInvasionCycleTime;
+ }
+
+ public boolean isMountsEnabled() {
+ return mountsEnabled;
+ }
+
+ public void setMountsEnabled(boolean mountsEnabled) {
+ this.mountsEnabled = mountsEnabled;
+ }
+
+ public boolean isSendBreadcrumbs() {
+ return sendBreadcrumbs;
+ }
+
+ public void setSendBreadcrumbs(boolean sendBreadcrumbs) {
+ this.sendBreadcrumbs = sendBreadcrumbs;
+ }
+
+ public boolean isSendPlayerTransform() {
+ return sendPlayerTransform;
+ }
+
+ public void setSendPlayerTransform(boolean sendPlayerTransform) {
+ this.sendPlayerTransform = sendPlayerTransform;
+ }
+
+ public int getXpMultiplier() {
+ return xpMultiplier;
+ }
+
+ public void setXpMultiplier(int xpMultiplier) {
+ this.xpMultiplier = xpMultiplier;
+ }
+
+ public float getChroniclesXpModifier() {
+ return chroniclesXpModifier;
+ }
+
+ public void setChroniclesXpModifier(float chroniclesXpModifier) {
+ this.chroniclesXpModifier = chroniclesXpModifier;
+ }
+
+ public int getChroniclesQuestorGoldTokenChanceOverride() {
+ return chroniclesQuestorGoldTokenChanceOverride;
+ }
+
+ public void setChroniclesQuestorGoldTokenChanceOverride(int chroniclesQuestorGoldTokenChanceOverride) {
+ this.chroniclesQuestorGoldTokenChanceOverride = chroniclesQuestorGoldTokenChanceOverride;
+ }
+
+ public int getChroniclesChroniclerGoldTokenChanceOverride() {
+ return chroniclesChroniclerGoldTokenChanceOverride;
+ }
+
+ public void setChroniclesChroniclerGoldTokenChanceOverride(int chroniclesChroniclerGoldTokenChanceOverride) {
+ this.chroniclesChroniclerGoldTokenChanceOverride = chroniclesChroniclerGoldTokenChanceOverride;
+ }
+
+ public float getChroniclesChroniclerSilverTokenNumModifier() {
+ return chroniclesChroniclerSilverTokenNumModifier;
+ }
+
+ public void setChroniclesChroniclerSilverTokenNumModifier(float chroniclesChroniclerSilverTokenNumModifier) {
+ this.chroniclesChroniclerSilverTokenNumModifier = chroniclesChroniclerSilverTokenNumModifier;
+ }
+
+ public float getChroniclesQuestorSilverTokenNumModifier() {
+ return chroniclesQuestorSilverTokenNumModifier;
+ }
+
+ public void setChroniclesQuestorSilverTokenNumModifier(float chroniclesQuestorSilverTokenNumModifier) {
+ this.chroniclesQuestorSilverTokenNumModifier = chroniclesQuestorSilverTokenNumModifier;
+ }
+
+ public float getGcwPointBonus() {
+ return gcwPointBonus;
+ }
+
+ public void setGcwPointBonus(float gcwPointBonus) {
+ this.gcwPointBonus = gcwPointBonus;
+ }
+
+ public float getGcwTokenBonus() {
+ return gcwTokenBonus;
+ }
+
+ public void setGcwTokenBonus(float gcwTokenBonus) {
+ this.gcwTokenBonus = gcwTokenBonus;
+ }
+
+ public int getTriggerVolumeSystem() {
+ return triggerVolumeSystem;
+ }
+
+ public void setTriggerVolumeSystem(int triggerVolumeSystem) {
+ this.triggerVolumeSystem = triggerVolumeSystem;
+ }
+
+ public boolean isAdminPersistAllCreates() {
+ return adminPersistAllCreates;
+ }
+
+ public void setAdminPersistAllCreates(boolean adminPersistAllCreates) {
+ this.adminPersistAllCreates = adminPersistAllCreates;
+ }
+
+ public float getAiAssistRadius() {
+ return aiAssistRadius;
+ }
+
+ public void setAiAssistRadius(float aiAssistRadius) {
+ this.aiAssistRadius = aiAssistRadius;
+ }
+
+ public float getAiBaseAggroRadius() {
+ return aiBaseAggroRadius;
+ }
+
+ public void setAiBaseAggroRadius(float aiBaseAggroRadius) {
+ this.aiBaseAggroRadius = aiBaseAggroRadius;
+ }
+
+ public boolean isAiClientDebugEnabled() {
+ return aiClientDebugEnabled;
+ }
+
+ public void setAiClientDebugEnabled(boolean aiClientDebugEnabled) {
+ this.aiClientDebugEnabled = aiClientDebugEnabled;
+ }
+
+ public float getAiLeashRadius() {
+ return aiLeashRadius;
+ }
+
+ public void setAiLeashRadius(float aiLeashRadius) {
+ this.aiLeashRadius = aiLeashRadius;
+ }
+
+ public float getAiMaxAggroRadius() {
+ return aiMaxAggroRadius;
+ }
+
+ public void setAiMaxAggroRadius(float aiMaxAggroRadius) {
+ this.aiMaxAggroRadius = aiMaxAggroRadius;
+ }
+
+ public float getArmorDamageReduction() {
+ return armorDamageReduction;
+ }
+
+ public void setArmorDamageReduction(float armorDamageReduction) {
+ this.armorDamageReduction = armorDamageReduction;
+ }
+
+ public float getBuddyPointTimeBonus() {
+ return buddyPointTimeBonus;
+ }
+
+ public void setBuddyPointTimeBonus(float buddyPointTimeBonus) {
+ this.buddyPointTimeBonus = buddyPointTimeBonus;
+ }
+
+ public boolean isBuildoutAreaEditingEnabled() {
+ return buildoutAreaEditingEnabled;
+ }
+
+ public void setBuildoutAreaEditingEnabled(boolean buildoutAreaEditingEnabled) {
+ this.buildoutAreaEditingEnabled = buildoutAreaEditingEnabled;
+ }
+
+ public int getCityCitizenshipInactivePackupInactiveTimeSeconds() {
+ return cityCitizenshipInactivePackupInactiveTimeSeconds;
+ }
+
+ public void setCityCitizenshipInactivePackupInactiveTimeSeconds(int cityCitizenshipInactivePackupInactiveTimeSeconds) {
+ this.cityCitizenshipInactivePackupInactiveTimeSeconds = cityCitizenshipInactivePackupInactiveTimeSeconds;
+ }
+
+ public boolean isCommoditiesShowAllDebugInfo() {
+ return commoditiesShowAllDebugInfo;
+ }
+
+ public void setCommoditiesShowAllDebugInfo(boolean commoditiesShowAllDebugInfo) {
+ this.commoditiesShowAllDebugInfo = commoditiesShowAllDebugInfo;
+ }
+
+ public int getCraftingXpChance() {
+ return craftingXpChance;
+ }
+
+ public void setCraftingXpChance(int craftingXpChance) {
+ this.craftingXpChance = craftingXpChance;
+ }
+
+ public boolean isDeactivateHarvesterIfDamaged() {
+ return deactivateHarvesterIfDamaged;
+ }
+
+ public void setDeactivateHarvesterIfDamaged(boolean deactivateHarvesterIfDamaged) {
+ this.deactivateHarvesterIfDamaged = deactivateHarvesterIfDamaged;
+ }
+
+ public float getDefaultActionRegen() {
+ return defaultActionRegen;
+ }
+
+ public void setDefaultActionRegen(float defaultActionRegen) {
+ this.defaultActionRegen = defaultActionRegen;
+ }
+
+ public int getDefaultAutoExpireTargetDuration() {
+ return defaultAutoExpireTargetDuration;
+ }
+
+ public void setDefaultAutoExpireTargetDuration(int defaultAutoExpireTargetDuration) {
+ this.defaultAutoExpireTargetDuration = defaultAutoExpireTargetDuration;
+ }
+
+ public float getDefaultHealthRegen() {
+ return defaultHealthRegen;
+ }
+
+ public void setDefaultHealthRegen(float defaultHealthRegen) {
+ this.defaultHealthRegen = defaultHealthRegen;
+ }
+
+ public boolean isDisableMissions() {
+ return disableMissions;
+ }
+
+ public void setDisableMissions(boolean disableMissions) {
+ this.disableMissions = disableMissions;
+ }
+
+ public boolean isDisableTravel() {
+ return disableTravel;
+ }
+
+ public void setDisableTravel(boolean disableTravel) {
+ this.disableTravel = disableTravel;
+ }
+
+ public boolean isEnableNewVeteranRewards() {
+ return enableNewVeteranRewards;
+ }
+
+ public void setEnableNewVeteranRewards(boolean enableNewVeteranRewards) {
+ this.enableNewVeteranRewards = enableNewVeteranRewards;
+ }
+
+ public int getGcwDaysRequiredForGcwRegionDefenderBonus() {
+ return gcwDaysRequiredForGcwRegionDefenderBonus;
+ }
+
+ public void setGcwDaysRequiredForGcwRegionDefenderBonus(int gcwDaysRequiredForGcwRegionDefenderBonus) {
+ this.gcwDaysRequiredForGcwRegionDefenderBonus = gcwDaysRequiredForGcwRegionDefenderBonus;
+ }
+
+ public int getGcwFactionalPresenceAlignedCityAgeBonusPct() {
+ return gcwFactionalPresenceAlignedCityAgeBonusPct;
+ }
+
+ public void setGcwFactionalPresenceAlignedCityAgeBonusPct(int gcwFactionalPresenceAlignedCityAgeBonusPct) {
+ this.gcwFactionalPresenceAlignedCityAgeBonusPct = gcwFactionalPresenceAlignedCityAgeBonusPct;
+ }
+
+ public int getGcwFactionalPresenceAlignedCityBonusPct() {
+ return gcwFactionalPresenceAlignedCityBonusPct;
+ }
+
+ public void setGcwFactionalPresenceAlignedCityBonusPct(int gcwFactionalPresenceAlignedCityBonusPct) {
+ this.gcwFactionalPresenceAlignedCityBonusPct = gcwFactionalPresenceAlignedCityBonusPct;
+ }
+
+ public int getGcwFactionalPresenceAlignedCityRankBonusPct() {
+ return gcwFactionalPresenceAlignedCityRankBonusPct;
+ }
+
+ public void setGcwFactionalPresenceAlignedCityRankBonusPct(int gcwFactionalPresenceAlignedCityRankBonusPct) {
+ this.gcwFactionalPresenceAlignedCityRankBonusPct = gcwFactionalPresenceAlignedCityRankBonusPct;
+ }
+
+ public int getGcwFactionalPresenceGcwRankBonusPct() {
+ return gcwFactionalPresenceGcwRankBonusPct;
+ }
+
+ public void setGcwFactionalPresenceGcwRankBonusPct(int gcwFactionalPresenceGcwRankBonusPct) {
+ this.gcwFactionalPresenceGcwRankBonusPct = gcwFactionalPresenceGcwRankBonusPct;
+ }
+
+ public int getGcwFactionalPresenceLevelPct() {
+ return gcwFactionalPresenceLevelPct;
+ }
+
+ public void setGcwFactionalPresenceLevelPct(int gcwFactionalPresenceLevelPct) {
+ this.gcwFactionalPresenceLevelPct = gcwFactionalPresenceLevelPct;
+ }
+
+ public int getGcwFactionalPresenceMountedPct() {
+ return gcwFactionalPresenceMountedPct;
+ }
+
+ public void setGcwFactionalPresenceMountedPct(int gcwFactionalPresenceMountedPct) {
+ this.gcwFactionalPresenceMountedPct = gcwFactionalPresenceMountedPct;
+ }
+
+ public int getGcwGuildMinMembersForGcwRegionDefender() {
+ return gcwGuildMinMembersForGcwRegionDefender;
+ }
+
+ public void setGcwGuildMinMembersForGcwRegionDefender(int gcwGuildMinMembersForGcwRegionDefender) {
+ this.gcwGuildMinMembersForGcwRegionDefender = gcwGuildMinMembersForGcwRegionDefender;
+ }
+
+ public int getGcwRecalcTimeDayOfWeek() {
+ return gcwRecalcTimeDayOfWeek;
+ }
+
+ public void setGcwRecalcTimeDayOfWeek(int gcwRecalcTimeDayOfWeek) {
+ this.gcwRecalcTimeDayOfWeek = gcwRecalcTimeDayOfWeek;
+ }
+
+ public int getGcwRecalcTimeHour() {
+ return gcwRecalcTimeHour;
+ }
+
+ public void setGcwRecalcTimeHour(int gcwRecalcTimeHour) {
+ this.gcwRecalcTimeHour = gcwRecalcTimeHour;
+ }
+
+ public int getGcwRecalcTimeMinute() {
+ return gcwRecalcTimeMinute;
+ }
+
+ public void setGcwRecalcTimeMinute(int gcwRecalcTimeMinute) {
+ this.gcwRecalcTimeMinute = gcwRecalcTimeMinute;
+ }
+
+ public int getGcwRecalcTimeSecond() {
+ return gcwRecalcTimeSecond;
+ }
+
+ public void setGcwRecalcTimeSecond(int gcwRecalcTimeSecond) {
+ this.gcwRecalcTimeSecond = gcwRecalcTimeSecond;
+ }
+
+ public int getGcwRegionDefenderTotalBonusPct() {
+ return gcwRegionDefenderTotalBonusPct;
+ }
+
+ public void setGcwRegionDefenderTotalBonusPct(int gcwRegionDefenderTotalBonusPct) {
+ this.gcwRegionDefenderTotalBonusPct = gcwRegionDefenderTotalBonusPct;
+ }
+
+ public int getGcwScoreDecayTimeDayOfWeek() {
+ return gcwScoreDecayTimeDayOfWeek;
+ }
+
+ public void setGcwScoreDecayTimeDayOfWeek(int gcwScoreDecayTimeDayOfWeek) {
+ this.gcwScoreDecayTimeDayOfWeek = gcwScoreDecayTimeDayOfWeek;
+ }
+
+ public int getGcwScoreDecayTimeHour() {
+ return gcwScoreDecayTimeHour;
+ }
+
+ public void setGcwScoreDecayTimeHour(int gcwScoreDecayTimeHour) {
+ this.gcwScoreDecayTimeHour = gcwScoreDecayTimeHour;
+ }
+
+ public int getGcwScoreDecayTimeMinute() {
+ return gcwScoreDecayTimeMinute;
+ }
+
+ public void setGcwScoreDecayTimeMinute(int gcwScoreDecayTimeMinute) {
+ this.gcwScoreDecayTimeMinute = gcwScoreDecayTimeMinute;
+ }
+
+ public int getGcwScoreDecayTimeSecond() {
+ return gcwScoreDecayTimeSecond;
+ }
+
+ public void setGcwScoreDecayTimeSecond(int gcwScoreDecayTimeSecond) {
+ this.gcwScoreDecayTimeSecond = gcwScoreDecayTimeSecond;
+ }
+
+ public float getGcwXpBonus() {
+ return gcwXpBonus;
+ }
+
+ public void setGcwXpBonus(float gcwXpBonus) {
+ this.gcwXpBonus = gcwXpBonus;
+ }
+
+ public int getHouseItemLimitMultiplier() {
+ return houseItemLimitMultiplier;
+ }
+
+ public void setHouseItemLimitMultiplier(int houseItemLimitMultiplier) {
+ this.houseItemLimitMultiplier = houseItemLimitMultiplier;
+ }
+
+ public int getMaxCombatRange() {
+ return maxCombatRange;
+ }
+
+ public void setMaxCombatRange(int maxCombatRange) {
+ this.maxCombatRange = maxCombatRange;
+ }
+
+ public int getMaxGalacticReserveDepositBillion() {
+ return maxGalacticReserveDepositBillion;
+ }
+
+ public void setMaxGalacticReserveDepositBillion(int maxGalacticReserveDepositBillion) {
+ this.maxGalacticReserveDepositBillion = maxGalacticReserveDepositBillion;
+ }
+
+ public int getMaxHouseItemLimit() {
+ return maxHouseItemLimit;
+ }
+
+ public void setMaxHouseItemLimit(int maxHouseItemLimit) {
+ this.maxHouseItemLimit = maxHouseItemLimit;
+ }
+
+ public int getMaxLotsPerAccount() {
+ return maxLotsPerAccount;
+ }
+
+ public void setMaxLotsPerAccount(int maxLotsPerAccount) {
+ this.maxLotsPerAccount = maxLotsPerAccount;
+ }
+
+ public int getMaxMoney() {
+ return maxMoney;
+ }
+
+ public void setMaxMoney(int maxMoney) {
+ this.maxMoney = maxMoney;
+ }
+
+ public int getMaxMoneyTransfer() {
+ return maxMoneyTransfer;
+ }
+
+ public void setMaxMoneyTransfer(int maxMoneyTransfer) {
+ this.maxMoneyTransfer = maxMoneyTransfer;
+ }
+
+ public int getMaxReimburseAmount() {
+ return maxReimburseAmount;
+ }
+
+ public void setMaxReimburseAmount(int maxReimburseAmount) {
+ this.maxReimburseAmount = maxReimburseAmount;
+ }
+
+ public boolean isPvpDisableCombat() {
+ return pvpDisableCombat;
+ }
+
+ public void setPvpDisableCombat(boolean pvpDisableCombat) {
+ this.pvpDisableCombat = pvpDisableCombat;
+ }
+
+ public int getPvpGuildWarCoolDownPeriodTimeMs() {
+ return pvpGuildWarCoolDownPeriodTimeMs;
+ }
+
+ public void setPvpGuildWarCoolDownPeriodTimeMs(int pvpGuildWarCoolDownPeriodTimeMs) {
+ this.pvpGuildWarCoolDownPeriodTimeMs = pvpGuildWarCoolDownPeriodTimeMs;
+ }
+
+ public boolean isReportAiWarnings() {
+ return reportAiWarnings;
+ }
+
+ public void setReportAiWarnings(boolean reportAiWarnings) {
+ this.reportAiWarnings = reportAiWarnings;
+ }
+
+ public int getResourceTimeScale() {
+ return resourceTimeScale;
+ }
+
+ public void setResourceTimeScale(int resourceTimeScale) {
+ this.resourceTimeScale = resourceTimeScale;
+ }
+
+ public int getSecondsPerResourceTick() {
+ return secondsPerResourceTick;
+ }
+
+ public void setSecondsPerResourceTick(int secondsPerResourceTick) {
+ this.secondsPerResourceTick = secondsPerResourceTick;
+ }
+
+ public boolean isShipsEnabled() {
+ return shipsEnabled;
+ }
+
+ public void setShipsEnabled(boolean shipsEnabled) {
+ this.shipsEnabled = shipsEnabled;
+ }
+ }
+
+ public static class CharacterBuilder {
+ private boolean builderEnabled;
+ private boolean devEnabled;
+ private boolean weaponsEnabled;
+ private boolean armorEnabled;
+ private boolean skillsEnabled;
+ private boolean commandsEnabled;
+ private boolean resourcesEnabled;
+ private boolean creditsEnabled;
+ private boolean factionEnabled;
+ private boolean vehiclesEnabled;
+ private boolean shipsEnabled;
+ private boolean craftingEnabled;
+ private boolean deedsEnabled;
+ private boolean pahallEnabled;
+ private boolean miscitemEnabled;
+ private boolean jediEnabled;
+ private boolean BestResourcesEnabled;
+ private boolean HeroicFlagEnabled;
+ private boolean DraftSchematicsEnabled;
+ private boolean buffsEnabled;
+ private boolean warpsEnabled;
+ private boolean questEnabled;
+ private boolean petsEnabled;
+ private int itvMinUsageLevel;
+
+ CharacterBuilder() {}
+
+ public String toString() {
+ String output = "\nbuilderEnabled=" + builderEnabled;
+ output += "\ndevEnabled=" + devEnabled;
+ output += "\nweaponsEnabled=" + weaponsEnabled;
+ output += "\narmorEnabled=" + armorEnabled;
+ output += "\nskillsEnabled=" + skillsEnabled;
+ output += "\ncommandsEnabled=" + commandsEnabled;
+ output += "\nresourcesEnabled=" + resourcesEnabled;
+ output += "\ncreditsEnabled=" + creditsEnabled;
+ output += "\nfactionEnabled=" + factionEnabled;
+ output += "\nvehiclesEnabled=" + vehiclesEnabled;
+ output += "\nshipsEnabled=" + shipsEnabled;
+ output += "\ncraftingEnabled=" + craftingEnabled;
+ output += "\ndeedsEnabled=" + deedsEnabled;
+ output += "\npahallEnabled=" + pahallEnabled;
+ output += "\nmiscitemEnabled=" + miscitemEnabled;
+ output += "\njediEnabled=" + jediEnabled;
+ output += "\nBestResourcesEnabled=" + BestResourcesEnabled;
+ output += "\nHeroicFlagEnabled=" + HeroicFlagEnabled;
+ output += "\nDraftSchematicsEnabled=" + DraftSchematicsEnabled;
+ output += "\nbuffsEnabled=" + buffsEnabled;
+ output += "\nwarpsEnabled=" + warpsEnabled;
+ output += "\nquestEnabled=" + questEnabled;
+ output += "\npetsEnabled=" + petsEnabled;
+ output += "\nitvMinUsageLevel=" + itvMinUsageLevel;
+ return output + "\n\n";
+ }
+
+ public int getItvMinUsageLevel() {
+ return itvMinUsageLevel;
+ }
+
+ public boolean isBuilderEnabled() {
+ return builderEnabled;
+ }
+
+ public void setBuilderEnabled(boolean builderEnabled) {
+ this.builderEnabled = builderEnabled;
+ }
+
+ public boolean isDevEnabled() {
+ return devEnabled;
+ }
+
+ public void setDevEnabled(boolean devEnabled) {
+ this.devEnabled = devEnabled;
+ }
+
+ public boolean isWeaponsEnabled() {
+ return weaponsEnabled;
+ }
+
+ public void setWeaponsEnabled(boolean weaponsEnabled) {
+ this.weaponsEnabled = weaponsEnabled;
+ }
+
+ public boolean isArmorEnabled() {
+ return armorEnabled;
+ }
+
+ public void setArmorEnabled(boolean armorEnabled) {
+ this.armorEnabled = armorEnabled;
+ }
+
+ public boolean isSkillsEnabled() {
+ return skillsEnabled;
+ }
+
+ public void setSkillsEnabled(boolean skillsEnabled) {
+ this.skillsEnabled = skillsEnabled;
+ }
+
+ public boolean isCommandsEnabled() {
+ return commandsEnabled;
+ }
+
+ public void setCommandsEnabled(boolean commandsEnabled) {
+ this.commandsEnabled = commandsEnabled;
+ }
+
+ public boolean isResourcesEnabled() {
+ return resourcesEnabled;
+ }
+
+ public void setResourcesEnabled(boolean resourcesEnabled) {
+ this.resourcesEnabled = resourcesEnabled;
+ }
+
+ public boolean isCreditsEnabled() {
+ return creditsEnabled;
+ }
+
+ public void setCreditsEnabled(boolean creditsEnabled) {
+ this.creditsEnabled = creditsEnabled;
+ }
+
+ public boolean isFactionEnabled() {
+ return factionEnabled;
+ }
+
+ public void setFactionEnabled(boolean factionEnabled) {
+ this.factionEnabled = factionEnabled;
+ }
+
+ public boolean isVehiclesEnabled() {
+ return vehiclesEnabled;
+ }
+
+ public void setVehiclesEnabled(boolean vehiclesEnabled) {
+ this.vehiclesEnabled = vehiclesEnabled;
+ }
+
+ public boolean isShipsEnabled() {
+ return shipsEnabled;
+ }
+
+ public void setShipsEnabled(boolean shipsEnabled) {
+ this.shipsEnabled = shipsEnabled;
+ }
+
+ public boolean isCraftingEnabled() {
+ return craftingEnabled;
+ }
+
+ public void setCraftingEnabled(boolean craftingEnabled) {
+ this.craftingEnabled = craftingEnabled;
+ }
+
+ public boolean isDeedsEnabled() {
+ return deedsEnabled;
+ }
+
+ public void setDeedsEnabled(boolean deedsEnabled) {
+ this.deedsEnabled = deedsEnabled;
+ }
+
+ public boolean isPahallEnabled() {
+ return pahallEnabled;
+ }
+
+ public void setPahallEnabled(boolean pahallEnabled) {
+ this.pahallEnabled = pahallEnabled;
+ }
+
+ public boolean isMiscitemEnabled() {
+ return miscitemEnabled;
+ }
+
+ public void setMiscitemEnabled(boolean miscitemEnabled) {
+ this.miscitemEnabled = miscitemEnabled;
+ }
+
+ public boolean isJediEnabled() {
+ return jediEnabled;
+ }
+
+ public void setJediEnabled(boolean jediEnabled) {
+ this.jediEnabled = jediEnabled;
+ }
+
+ public boolean isBestResourcesEnabled() {
+ return BestResourcesEnabled;
+ }
+
+ public void setBestResourcesEnabled(boolean bestResourcesEnabled) {
+ BestResourcesEnabled = bestResourcesEnabled;
+ }
+
+ public boolean isHeroicFlagEnabled() {
+ return HeroicFlagEnabled;
+ }
+
+ public void setHeroicFlagEnabled(boolean heroicFlagEnabled) {
+ HeroicFlagEnabled = heroicFlagEnabled;
+ }
+
+ public boolean isDraftSchematicsEnabled() {
+ return DraftSchematicsEnabled;
+ }
+
+ public void setDraftSchematicsEnabled(boolean draftSchematicsEnabled) {
+ DraftSchematicsEnabled = draftSchematicsEnabled;
+ }
+
+ public boolean isBuffsEnabled() {
+ return buffsEnabled;
+ }
+
+ public void setBuffsEnabled(boolean buffsEnabled) {
+ this.buffsEnabled = buffsEnabled;
+ }
+
+ public boolean isWarpsEnabled() {
+ return warpsEnabled;
+ }
+
+ public void setWarpsEnabled(boolean warpsEnabled) {
+ this.warpsEnabled = warpsEnabled;
+ }
+
+ public boolean isQuestEnabled() {
+ return questEnabled;
+ }
+
+ public void setQuestEnabled(boolean questEnabled) {
+ this.questEnabled = questEnabled;
+ }
+
+ public boolean isPetsEnabled() {
+ return petsEnabled;
+ }
+
+ public void setPetsEnabled(boolean petsEnabled) {
+ this.petsEnabled = petsEnabled;
+ }
+
+ public int isItvMinUsageLevel() {
+ return itvMinUsageLevel;
+ }
+
+ public void setItvMinUsageLevel(int itvMinUsageLevel) {
+ this.itvMinUsageLevel = itvMinUsageLevel;
+ }
+ }
+
+ public static class Custom {
+ private float reverseEngineeringBonusMultiplier;
+ private int dailyMissionXpLimit;
+ // TODO: grantElderBuff should really be a boolean value. Script that reads this is not looking for "true" or "false".
+ // check live_conversions.java
+ private int grantElderBuff;
+
+ Custom() {}
+
+ public String toString() {
+ String output = "\nreverseEngineeringBonusMultiplier=" + reverseEngineeringBonusMultiplier;
+ output += "\ndailyMissionXpLimit=" + dailyMissionXpLimit;
+ output += "\ngrantElderBuff=" + grantElderBuff;
+ return output + "\n\n";
+ }
+
+ public float getReverseEngineeringBonusMultiplier() {
+ return reverseEngineeringBonusMultiplier;
+ }
+
+ public void setReverseEngineeringBonusMultiplier(float reverseEngineeringBonusMultiplier) {
+ this.reverseEngineeringBonusMultiplier = reverseEngineeringBonusMultiplier;
+ }
+
+ public int getDailyMissionXpLimit() {
+ return dailyMissionXpLimit;
+ }
+
+ public void setDailyMissionXpLimit(int dailyMissionXpLimit) {
+ this.dailyMissionXpLimit = dailyMissionXpLimit;
+ }
+
+ public int isGrantElderBuff() {
+ return grantElderBuff;
+ }
+
+ public void setGrantElderBuff(int grantElderBuff) {
+ this.grantElderBuff = grantElderBuff;
+ }
+ }
+}
diff --git a/src/main/java/swg/service/CityObjectService.java b/src/main/java/swg/service/CityObjectService.java
new file mode 100644
index 0000000..1bca73e
--- /dev/null
+++ b/src/main/java/swg/service/CityObjectService.java
@@ -0,0 +1,36 @@
+package swg.service;
+
+import org.hibernate.mapping.Property;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import swg.dao.CityObjectDao;
+import swg.dao.PropertyListDao;
+import swg.entity.CityObject;
+import swg.entity.PropertyList;
+
+import java.util.List;
+import java.util.Optional;
+
+@Service
+public class CityObjectService {
+ @Autowired
+ CityObjectDao cityObjectDao;
+
+ public List getAllCityObjects() { return this.cityObjectDao.findAll(); }
+ public CityObject getCityObjectByObjectId(Long objectId) {
+ return this.cityObjectDao.findByObjectId(objectId);
+ }
+ public CityObject getCityObjectByCityName(String name) {
+ List cobs = getAllCityObjects();
+ for (CityObject cob : cobs) {
+ Optional pl = cob.getPropertyLists().stream().filter(p -> p.getListId() == 12).findAny();
+ if(pl.isPresent()) {
+ PropertyList p = pl.get();
+ if(p.getValue().split(":")[2].equals(name)) {
+ return cob;
+ }
+ };
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/swg/service/PlayerService.java b/src/main/java/swg/service/PlayerService.java
new file mode 100644
index 0000000..2829d3f
--- /dev/null
+++ b/src/main/java/swg/service/PlayerService.java
@@ -0,0 +1,26 @@
+package swg.service;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import swg.dao.PlayerDao;
+import swg.entity.Player;
+
+import java.util.List;
+
+@Service
+public class PlayerService {
+ @Autowired
+ PlayerDao playerDao;
+
+ public List getAllPlayers() {
+ return this.playerDao.findAll();
+ }
+
+ public List getAllPlayersByStationId(Long stationId) {
+ return this.playerDao.findByStationId(stationId);
+ }
+
+ public Player getPlayerByObjectId(Long objectId) {
+ return this.playerDao.findByObjectId(objectId);
+ };
+}
\ No newline at end of file
diff --git a/src/main/java/swg/service/PropertyListService.java b/src/main/java/swg/service/PropertyListService.java
new file mode 100644
index 0000000..0220232
--- /dev/null
+++ b/src/main/java/swg/service/PropertyListService.java
@@ -0,0 +1,21 @@
+package swg.service;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import swg.dao.PropertyListDao;
+import swg.dao.ResourceTypeDao;
+import swg.entity.PropertyList;
+import swg.entity.ResourceType;
+
+import java.util.List;
+
+@Service
+public class PropertyListService {
+ @Autowired
+ PropertyListDao propertyListDao;
+
+ public List getAllPropertyLists() { return this.propertyListDao.findAll(); }
+ public List getPropertyListsByObjectId(Long objectId) {
+ return this.propertyListDao.findByObjectId(objectId);
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/swg/service/ResourceTypeService.java b/src/main/java/swg/service/ResourceTypeService.java
new file mode 100644
index 0000000..4a1508b
--- /dev/null
+++ b/src/main/java/swg/service/ResourceTypeService.java
@@ -0,0 +1,22 @@
+package swg.service;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import swg.entity.ActiveResource;
+import swg.dao.ResourceTypeDao;
+import swg.entity.ResourceType;
+
+import java.util.List;
+
+@Service
+public class ResourceTypeService {
+ @Autowired
+ ResourceTypeDao resourceTypeDao;
+
+ public List getAllResources() {
+ return this.resourceTypeDao.findAll();
+ }
+ public List getSpawnedResources() {
+ return this.resourceTypeDao.findAllSpawned();
+ }
+}
\ No newline at end of file
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index 947a253..a923f3a 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -8,3 +8,6 @@ spring.datasource.password=swg
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
## this shows the sql actions in the terminal logs
spring.jpa.show-sql=true
+spring.application.name=swg-api
+spring.config.import=optional:swg-defaults.yml,optional:file:./swg-local.yml
+swg.log.config.path=./exe/linux/
diff --git a/src/main/resources/swg-defaults.yml b/src/main/resources/swg-defaults.yml
new file mode 100644
index 0000000..cd8257d
--- /dev/null
+++ b/src/main/resources/swg-defaults.yml
@@ -0,0 +1,316 @@
+centralServer:
+ auctionEnabled: true
+ developmentMode: true
+ clusterName: swg
+ loggingEnabled: false
+ metricsDataURL: http://localhost:8080/api/metrics
+ newbieTutorialEnabled: true
+ webUpdateIntervalSeconds: 10
+ startPlanet:
+ - name: corellia
+ active: true
+ - name: dantooine
+ active: true
+ - name: dathomir
+ active: true
+ - name: endor
+ active: true
+ - name: lok
+ active: true
+ - name: kashyyyk_dead_forest
+ active: true
+ - name: kashyyyk_hunting
+ active: true
+ - name: kashyyyk_main
+ active: true
+ - name: kashyyyk_north_dungeons
+ active: true
+ - name: kashyyyk_pob_dungeons
+ active: true
+ - name: kashyyyk_rryatt_trail
+ active: true
+ - name: kashyyyk_south_dungeons
+ active: true
+ - name: mustafar
+ active: true
+ - name: naboo
+ active: true
+ - name: rori
+ active: true
+ - name: talus
+ active: true
+ - name: tatooine
+ active: true
+ - name: yavin4
+ active: true
+ - name: space_heavy1
+ active: true
+ - name: space_light1
+ active: true
+ - name: tutorial
+ active: true
+ - name: dungeon1
+ active: true
+ - name: adventure1
+ active: true
+ - name: adventure2
+ active: true
+ - name: space_npe_falcon
+ active: true
+ - name: space_npe_falcon_2
+ active: true
+ - name: space_npe_falcon_3
+ active: true
+ - name: space_ord_mantell
+ active: true
+ - name: space_corellia
+ active: true
+ - name: space_naboo
+ active: true
+ - name: space_tatooine
+ active: true
+ - name: space_lok
+ active: true
+ - name: space_dantooine
+ active: true
+ - name: space_dathomir
+ active: true
+ - name: space_yavin4
+ active: true
+ - name: space_endor
+ active: true
+ - name: space_nova_orion
+ active: true
+ - name: space_kashyyyk
+ active: true
+serverMetrics:
+ metricsServerPort: 0
+chatServer:
+ centralServerAddress: 127.0.0.1
+ clusterName: swg
+ gatewayServerIP: 127.0.0.1
+ gatewayServerPort: 5001
+ loggingEnabled: true
+ registrarHost: 127.0.0.1
+ registrarPort: 5000
+commodityServer:
+ developmentMode: true
+ maxAuctionsPerPlayer: 25
+ minutesActiveToUnaccessed: 43200
+ minutesBazaarAuctionTimer: 10080
+ minutesBazaarItemTimer: 10080
+ minutesEmptyToEndangered: 21600
+ minutesUnaccessedToEndangered: 7200
+ minutesEndangeredToRemoved: 21600
+ minutesVendorAuctionTimer: 43200
+ minutesVendorItemTimer: 43200
+planetServer:
+ loadWholePlanet: true
+ loadWholePlanetMultiserver: false
+ numTutorialServers: 1
+connectionServer:
+ adminAccountDataTable: datatables/admin/stella_admin.iff
+ pingPort: 44462
+ customerServiceBindInterface: eth0
+ chatServiceBindInterface: eth0
+ disableWorldSnapshot: false
+ validateClientVersion: false
+ validateStationKey: false
+ clientOverflowLimit: 5242880
+loginServer:
+ validateClientVersion: true
+ validateStationKey: false
+ easyExternalAccess: false
+scriptFlags:
+ liveSpaceServer: true
+ spawnersOn: true
+ npeSequencersActive: true
+quest:
+ craftingContract: true
+ crowdPleaser: true
+ communityCraftingLimit: 200
+bestineEvents:
+ politicianEventDuration: 2592000
+ museumEventDuration: 1209600
+sharedLog:
+ logTarget: net:127.0.0.1:44467
+sharedNetwork:
+ oldestUnacknowledgedTimeout: 0
+ noDataTimeout: 1000000
+sharedFoundation:
+ frameRateLimit: 10.0
+ fatalCallStackDepth: 10
+ warningCallStackDepth: -1
+dungeon:
+ deathWatch: true
+ corellianCorvetteNeutral: true
+ corellianCorvetteImperial: true
+ corellianCorvetteRebel: true
+ serverSwitch: true
+ geonosian: true
+eventTeam:
+ gcwRaid: true
+ forceFoolsDay: false
+ anniversary: true
+ restussEvent: false
+ restussPhase: 2
+ restussProgressionOn: true
+gameServer:
+ adminAccountDataTable: "datatables/admin/stella_admin.iff"
+ adminGodToAll: true
+ adminGodToAllGodLevel: 50
+ adminPersistAllCreates: false
+ aiAssistRadius: 12.0
+ aiBaseAggroRadius: 24.0
+ aiClientDebugEnabled: false
+ aiLeashRadius: 256.0
+ aiMaxAggroRadius: 96.0
+ armorDamageReduction: 80.0
+ buddyPointTimeBonus: 7.5
+ buildoutAreaEditingEnabled: false
+ cityCitizenshipInactivePackupInactiveTimeSeconds: 7776000
+ commoditiesShowAllDebugInfo: false
+ craftingXpChance: 50
+ deactivateHarvesterIfDamaged: true
+ defaultActionRegen: 20.0
+ defaultAutoExpireTargetDuration: 6
+ defaultHealthRegen: 40.0
+ disableMissions: false
+ disableTravel: false
+ enableNewVeteranRewards: true
+ enableOneYearAnniversary: true
+ gcwDaysRequiredForGcwRegionDefenderBonus: 3
+ gcwFactionalPresenceAlignedCityAgeBonusPct: 5
+ gcwFactionalPresenceAlignedCityBonusPct: 100
+ gcwFactionalPresenceAlignedCityRankBonusPct: 10
+ gcwFactionalPresenceGcwRankBonusPct: 10
+ gcwFactionalPresenceLevelPct: 10
+ gcwFactionalPresenceMountedPct: 20
+ gcwGuildMinMembersForGcwRegionDefender: 10
+ gcwRecalcTimeDayOfWeek: 4
+ gcwRecalcTimeHour: 19
+ gcwRecalcTimeMinute: 0
+ gcwRecalcTimeSecond: 0
+ gcwRegionDefenderTotalBonusPct: 20
+ gcwScoreDecayTimeDayOfWeek: 1
+ gcwScoreDecayTimeHour: 19
+ gcwScoreDecayTimeMinute: 0
+ gcwScoreDecayTimeSecond: 0
+ gcwXpBonus: 15.0
+ houseItemLimitMultiplier: 100
+ maxCombatRange: 96.0
+ maxGalacticReserveDepositBillion: 3
+ maxHouseItemLimit: 500
+ maxLotsPerAccount: 165
+ maxMoney: 1000000000
+ maxMoneyTransfer: 100000000
+ maxReimburseAmount: 0
+ pvpDisableCombat: false
+ pvpGuildWarCoolDownPeriodTimeMs: 60000
+ reportAiWarnings: false
+ resourceTimeScale: 86400
+ secondsPerResourceTick: 60
+ shipsEnabled: true
+ unclaimedAuctionItemDestroyTimeSec: 2592000
+ veteranRewardTradeInWaitPeriodSeconds: 2592000
+ weatherUpdateSeconds: 900
+ debugMode: 1
+ serverLoadLevel: heavy
+ idleLogoutTimeSec: 300
+ suiListLimit: 50
+ createZoneObjects: true
+ centralServerAddress: localhost
+ javaConsoleDebugMessages: false
+ javaEngineProfiling: false
+ javaVMName: sun
+ javaOptions:
+ - -Xoss4096k
+ - -Xss4096k
+ maxGoldNetworkId: 10000000
+ nameValidationAcceptAll: true
+ scriptWatcherWarnTime: 5000
+ scriptWatcherInterruptTime: 0
+ commoditiesMarketEnabled: true
+ createAppearances: true
+ fatalOnGoldPobChange: false
+# allowMasterObjectCreation: false
+ reservedObjectIds: 1000000
+ enablePreload: false
+ allowPlayersToPackVendors: true
+ manufactureTimeOverride: 0.0
+ disableResources: false
+ spawnAllResources: true
+ grantGift: true
+ maxSocketSkillModBonus: 999
+ maxObjectSkillModBonus: 999
+ maxItemAttribBonus: 500
+ maxTotalAttribBonus: 2000
+ aiLoggingEnabled: false
+ serverSpawnLimit: 60000
+ disableAreaSpawners: false
+ disablePatrolSpawners: false
+ harvesterExtractionRateMultiplier: 5.0
+ enableVeteranRewards: true
+ veteranDebugTriggerAll: true
+ veteranDebugEnableOverrideAccountAge: false
+ flashSpeederReward: true
+ combatUpgradeReward: 2
+ lifeday: false
+ loveday: false
+ deleteEventProps: false
+ halloween: false
+ foolsDay: false
+ empireday_ceremony: false
+ enableCovertImperialMercenary: true
+ enableOvertImperialMercenary: true
+ enableCovertRebelMercenary: true
+ enableOvertRebelMercenary: true
+ hibernateDistance: 65.0
+ hibernateEnabled: true
+ hibernateProxies: true
+ gcwCityKeren: true
+ gcwCityBestine: true
+ gcwCityDearic: true
+ gcwInvasionCityMaximumRunning: 1
+ gcwInvasionCycleTime: 1
+ mountsEnabled: true
+ sendBreadcrumbs: true
+ sendPlayerTransform: true
+ xpMultiplier: 3
+ chroniclesXpModifier: 1.0
+ chroniclesQuestorGoldTokenChanceOverride: 15
+ chroniclesChroniclerGoldTokenChanceOverride: 15
+ chroniclesChroniclerSilverTokenNumModifier: 2.0
+ chroniclesQuestorSilverTokenNumModifier: 2.0
+ gcwPointBonus: 5.0
+ gcwTokenBonus: 5.0
+ triggerVolumeSystem: 2
+characterBuilder:
+ builderEnabled: true
+ devEnabled: true
+ weaponsEnabled: true
+ armorEnabled: true
+ skillsEnabled: true
+ commandsEnabled: true
+ resourcesEnabled: true
+ creditsEnabled: true
+ factionEnabled: true
+ vehiclesEnabled: true
+ shipsEnabled: true
+ craftingEnabled: true
+ deedsEnabled: true
+ pahallEnabled: true
+ miscitemEnabled: true
+ jediEnabled: true
+ BestResourcesEnabled: true
+ HeroicFlagEnabled: true
+ DraftSchematicsEnabled: true
+ buffsEnabled: true
+ warpsEnabled: true
+ questEnabled: true
+ petsEnabled: true
+ itvMinUsageLevel: 0
+custom:
+ reverseEngineeringBonusMultiplier: 1.0
+ dailyMissionXpLimit: 10
+ grantElderBuff: 1
\ No newline at end of file