444 lines
No EOL
15 KiB
JavaScript
444 lines
No EOL
15 KiB
JavaScript
// True numeric value binding
|
|
ko.bindingHandlers.numericValue = {
|
|
init: function (element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
|
|
var underlyingObservable = valueAccessor();
|
|
var interceptor = ko.dependentObservable({
|
|
read: underlyingObservable,
|
|
write: function (value) {
|
|
if (!isNaN(value)) {
|
|
underlyingObservable(parseFloat(value));
|
|
}
|
|
}
|
|
});
|
|
ko.bindingHandlers.value.init(element, function () {
|
|
return interceptor
|
|
}, allBindingsAccessor, viewModel, bindingContext);
|
|
},
|
|
update: ko.bindingHandlers.value.update
|
|
};
|
|
|
|
var editor = ace.edit("config-editor");
|
|
editor.setTheme("ace/theme/monokai");
|
|
editor.session.setMode("ace/mode/javascript");
|
|
|
|
var viewmodel = ko.mapping.fromJS({
|
|
// Server Argument Section
|
|
"BaseServerArgs": "",
|
|
"AdditionalCmdLineParams": "",
|
|
|
|
// World Options
|
|
"WorldFriendlyName": "New Server",
|
|
"WorldAtlasId": "",
|
|
"WorldAtlasPassword": "",
|
|
"ModIDs": "",
|
|
|
|
// Grid Options
|
|
"gridSize": 1000,
|
|
"totalGridsX": 1,
|
|
"totalGridsY": 1,
|
|
"coordsScaling": 0.000000000001,
|
|
"globalTransitionMinZ": 0.0,
|
|
|
|
// Image Paths
|
|
"backgroundImgPath": "image.png",
|
|
"discoZonesImagePath": "image.png",
|
|
|
|
// URL Options
|
|
"MetaWorldURL": "",
|
|
"AuthListURL": "",
|
|
"MapImageURL": "",
|
|
|
|
// Time Options
|
|
"Day0": "2019-01-09 20:28:56",
|
|
"bUseUTCTime": false,
|
|
"columnUTCOffset": 0.0,
|
|
"lastImageOverride": "0001-01-01T00:00:00",
|
|
|
|
// Info Options
|
|
"showServerInfo": false,
|
|
"showDiscoZoneInfo": false,
|
|
"showShipPathsInfo": false,
|
|
"showIslandNames": false,
|
|
"showLines": false,
|
|
"showBackground": false,
|
|
|
|
// S3 Options
|
|
"LocalS3URL": "",
|
|
"LocalS3AccessKeyId": "",
|
|
"LocalS3SecretKey": "",
|
|
"LocalS3BucketName": "",
|
|
"LocalS3Region": "",
|
|
|
|
// Unsorted...
|
|
"globalGameplaySetup": "",
|
|
"shipPathsIdGenerator": 1,
|
|
"idGenerator": 127,
|
|
"regionsIdGenerator": 0,
|
|
|
|
// Tribe Log Tab
|
|
"TribeLogConfig": {
|
|
// Main Options
|
|
"MaxRedisEntries": 1000,
|
|
"BackupMode": "off",
|
|
"MaxFileHistory": 10,
|
|
"HttpBackupURL": "",
|
|
"HttpAPIKey": "",
|
|
|
|
//S3 Options
|
|
"S3URL": "",
|
|
"S3AccessKeyId": "",
|
|
"S3SecretKey": "",
|
|
"S3BucketName": "",
|
|
"S3KeyPrefix": ""
|
|
},
|
|
|
|
// Travel Data Tab
|
|
"TravelDataConfig": {
|
|
// Main Options
|
|
"BackupMode": "off",
|
|
"MaxFileHistory": 10,
|
|
"HttpBackupURL": "",
|
|
"HttpAPIKey": "",
|
|
|
|
//S3 Options
|
|
"S3URL": "",
|
|
"S3AccessKeyId": "",
|
|
"S3SecretKey": "",
|
|
"S3BucketName": "",
|
|
"S3KeyPrefix": ""
|
|
},
|
|
|
|
// Shared Log Tab
|
|
"SharedLogConfig": {
|
|
// Main Options
|
|
"FetchRateSec": 60,
|
|
"SnapshotCleanupSec": 900,
|
|
"SnapshotRateSec": 1800,
|
|
"SnapshotExpirationHours": 48,
|
|
"BackupMode": "off",
|
|
"MaxFileHistory": 10,
|
|
"HttpBackupURL": "",
|
|
"HttpAPIKey": "",
|
|
|
|
//S3 Options
|
|
"S3URL": "",
|
|
"S3AccessKeyId": "",
|
|
"S3SecretKey": "",
|
|
"S3BucketName": "",
|
|
"S3KeyPrefix": ""
|
|
},
|
|
|
|
// Databases Tab
|
|
"DatabaseConnections": [
|
|
{
|
|
"Name": "Default",
|
|
"URL": "127.0.0.1",
|
|
"Port": 6390,
|
|
"Password": ""
|
|
},
|
|
{
|
|
"Name": "TribeDB",
|
|
"URL": "127.0.0.1",
|
|
"Port": 6390,
|
|
"Password": ""
|
|
},
|
|
{
|
|
"Name": "TravelDataDB",
|
|
"URL": "127.0.0.1",
|
|
"Port": 6390,
|
|
"Password": ""
|
|
},
|
|
{
|
|
"Name": "TerritoryDB",
|
|
"URL": "127.0.0.1",
|
|
"Port": 6390,
|
|
"Password": ""
|
|
},
|
|
{
|
|
"Name": "LogDB",
|
|
"URL": "127.0.0.1",
|
|
"Port": 6390,
|
|
"Password": ""
|
|
}
|
|
],
|
|
|
|
"servers": [
|
|
{
|
|
"gridX": 4,
|
|
"gridY": 5,
|
|
"MachineIdTag": "",
|
|
"ip": "51.68.68.225",
|
|
"name": "The Crystal Sea",
|
|
"port": 29145,
|
|
"gamePort": 3045,
|
|
"seamlessDataPort": 31029,
|
|
"isHomeServer": false,
|
|
"AdditionalCmdLineParams": "",
|
|
"OverrideShooterGameModeDefaultGameIni": {},
|
|
"floorZDist": 0,
|
|
"utcOffset": 0,
|
|
"transitionMinZ": 0,
|
|
"GlobalBiomeSeamlessServerGridPreOffsetValues": "(BiomeZoneName=\"Temperate At Land\",PreOffsetMaxDistanceFromShore=100000.000000,PreOffsetTemperatureMultiplier=1.000000,PreOffsetTemperatureMultiplierMaxDistanceFromShore=1.000000,PreOffsetTemperatureAdditionMaxDistanceFromShore=-9.000000,PreOffsetTemperatureAddition=0.000000,PreOffsetTemperatureExponent=1.000000,PreOffsetTemperatureExponentMaxDistanceFromShore=1.000000,BiomeZoneNameAltDistanceName=\"Temperate Open Water\",BiomeZoneNameAltDistanceAmount=0.000000)",
|
|
"GlobalBiomeSeamlessServerGridPreOffsetValuesOceanWater": "(BiomeZoneName=\"Temperate Ocean Water\",PreOffsetMaxDistanceFromShore=17500.000000,PreOffsetTemperatureMultiplier=1.000000,PreOffsetTemperatureMultiplierMaxDistanceFromShore=1.000000,PreOffsetTemperatureAdditionMaxDistanceFromShore=-31.000000,PreOffsetTemperatureAddition=-5.000000,PreOffsetTemperatureExponent=1.000000,PreOffsetTemperatureExponentMaxDistanceFromShore=1.000000,BiomeZoneNameAltDistanceName=\"Temperate Deep Ocean\",BiomeZoneNameAltDistanceAmount=0.500000)",
|
|
"OceanDinoDepthEntriesOverride": "",
|
|
"OceanEpicSpawnEntriesOverrideValues": "(NPCSpawnEntries=((NPCsToSpawn=(BlueprintGeneratedClass'/Game/Atlas/Creatures/MeanWhale/MeanWhale_Character_BP.MeanWhale_Character_BP_C'),NPCsSpawnOffsets=((X=0.000000,Y=0.000000,Z=-700.000000)),NPCsToSpawnPercentageChance=(1.000000)),(NPCsToSpawn=(BlueprintGeneratedClass'/Game/Atlas/Creatures/MeanWhale/MeanWhale_SeaMonster_Character_BP.MeanWhale_SeaMonster_Character_BP_C'),NPCsSpawnOffsets=((X=0.000000,Y=0.000000,Z=-700.000000)),NPCsToSpawnPercentageChance=(1.000000))),NPCSpawnLimits=,MaxDesiredNumEnemiesMultiplier=4.000000)",
|
|
"oceanFloatsamCratesOverride": "",
|
|
"treasureMapLootTablesOverride": "",
|
|
"oceanEpicSpawnEntriesOverrideTemplateName": "",
|
|
"NPCShipSpawnEntriesOverrideTemplateName": "",
|
|
"regionOverrides": "",
|
|
"waterColorR": 0.0,
|
|
"waterColorG": 0.0,
|
|
"waterColorB": 0.0,
|
|
"skyStyleIndex": 0,
|
|
"serverIslandPointsMultiplier": 1.0,
|
|
"sublevels": [
|
|
{
|
|
"name": "Mnt_Y_Far_05_PVE",
|
|
"additionalTranslationX": -317251.5,
|
|
"additionalTranslationY": -272744.5,
|
|
"additionalTranslationZ": 0.0,
|
|
"additionalRotationPitch": 0.0,
|
|
"additionalRotationYaw": 0.0,
|
|
"additionalRotationRoll": 0.0,
|
|
"id": 28,
|
|
"landscapeMaterialOverride": -1
|
|
},
|
|
{
|
|
"name": "Mnt_Y_Farthest_05_PVE",
|
|
"additionalTranslationX": -317251.5,
|
|
"additionalTranslationY": -272744.5,
|
|
"additionalTranslationZ": 0.0,
|
|
"additionalRotationPitch": 0.0,
|
|
"additionalRotationYaw": 0.0,
|
|
"additionalRotationRoll": 0.0,
|
|
"id": 28,
|
|
"landscapeMaterialOverride": -1
|
|
},
|
|
{
|
|
"name": "Mnt_Y_Marine_Cold_Near",
|
|
"additionalTranslationX": -317251.5,
|
|
"additionalTranslationY": -272744.5,
|
|
"additionalTranslationZ": 0.0,
|
|
"additionalRotationPitch": 0.0,
|
|
"additionalRotationYaw": 0.0,
|
|
"additionalRotationRoll": 0.0,
|
|
"id": 28,
|
|
"landscapeMaterialOverride": -1
|
|
},
|
|
{
|
|
"name": "Mnt_Y_Near_05_PVE",
|
|
"additionalTranslationX": -317251.5,
|
|
"additionalTranslationY": -272744.5,
|
|
"additionalTranslationZ": 0.0,
|
|
"additionalRotationPitch": 0.0,
|
|
"additionalRotationYaw": 0.0,
|
|
"additionalRotationRoll": 0.0,
|
|
"id": 28,
|
|
"landscapeMaterialOverride": -1
|
|
},
|
|
{
|
|
"name": "Mnt_Y_PVE",
|
|
"additionalTranslationX": -317251.5,
|
|
"additionalTranslationY": -272744.5,
|
|
"additionalTranslationZ": 0.0,
|
|
"additionalRotationPitch": 0.0,
|
|
"additionalRotationYaw": 0.0,
|
|
"additionalRotationRoll": 0.0,
|
|
"id": 28,
|
|
"landscapeMaterialOverride": -1
|
|
},
|
|
{
|
|
"name": "Mnt_G_Far_03_PVE",
|
|
"additionalTranslationX": 51799.0,
|
|
"additionalTranslationY": 329860.0,
|
|
"additionalTranslationZ": 0.0,
|
|
"additionalRotationPitch": 0.0,
|
|
"additionalRotationYaw": 0.0,
|
|
"additionalRotationRoll": 0.0,
|
|
"id": 34,
|
|
"landscapeMaterialOverride": -1
|
|
},
|
|
{
|
|
"name": "Mnt_G_Farthest_03_PVE",
|
|
"additionalTranslationX": 51799.0,
|
|
"additionalTranslationY": 329860.0,
|
|
"additionalTranslationZ": 0.0,
|
|
"additionalRotationPitch": 0.0,
|
|
"additionalRotationYaw": 0.0,
|
|
"additionalRotationRoll": 0.0,
|
|
"id": 34,
|
|
"landscapeMaterialOverride": -1
|
|
},
|
|
{
|
|
"name": "Mnt_G_Near_03_PVE",
|
|
"additionalTranslationX": 51799.0,
|
|
"additionalTranslationY": 329860.0,
|
|
"additionalTranslationZ": 0.0,
|
|
"additionalRotationPitch": 0.0,
|
|
"additionalRotationYaw": 0.0,
|
|
"additionalRotationRoll": 0.0,
|
|
"id": 34,
|
|
"landscapeMaterialOverride": -1
|
|
},
|
|
{
|
|
"name": "Mnt_G_PVE",
|
|
"additionalTranslationX": 51799.0,
|
|
"additionalTranslationY": 329860.0,
|
|
"additionalTranslationZ": 0.0,
|
|
"additionalRotationPitch": 0.0,
|
|
"additionalRotationYaw": 0.0,
|
|
"additionalRotationRoll": 0.0,
|
|
"id": 34,
|
|
"landscapeMaterialOverride": -1
|
|
},
|
|
{
|
|
"name": "Mnt_G_Marine_Cold_Near",
|
|
"additionalTranslationX": 51799.0,
|
|
"additionalTranslationY": 329860.0,
|
|
"additionalTranslationZ": 0.0,
|
|
"additionalRotationPitch": 0.0,
|
|
"additionalRotationYaw": 0.0,
|
|
"additionalRotationRoll": 0.0,
|
|
"id": 34,
|
|
"landscapeMaterialOverride": -1
|
|
}
|
|
],
|
|
"lastModified": "2019-04-14T21:32:04.7310108Z",
|
|
"lastImageOverride": "0001-01-01T00:00:00",
|
|
"islandLocked": true,
|
|
"discoLocked": true,
|
|
"pathsLocked": false,
|
|
"extraSublevels": [],
|
|
"totalExtraSublevels": [
|
|
"ChildIBL_EasternTundra.uasset",
|
|
"ChildIBL_EasternTundra_Box.uasset",
|
|
"ChildIBL_EasternTundra_Canopy_JapanesePine.uasset",
|
|
"ChildIBL_EasternTundra_Canopy_Paulownia.uasset",
|
|
"ChildIBL_EasternTundra_Canopy_RedMaple.uasset",
|
|
"MasterIBL_EasternTemperate",
|
|
"MasterIBL_EasternTemperate_Canopy_RedMaple",
|
|
"MasterIBL_Temperate",
|
|
"MasterIBL_Temperate_Canopy",
|
|
"MasterIBL_Temperate_Canopy_B"
|
|
],
|
|
"islandInstances": [
|
|
{
|
|
"name": "Mnt_Y_EU_PVE",
|
|
"id": 28,
|
|
"spawnerOverrides": {},
|
|
"minTreasureQuality": -1.0,
|
|
"maxTreasureQuality": -1.0,
|
|
"useNpcVolumesForTreasures": false,
|
|
"useLevelBoundsForTreasures": true,
|
|
"prioritizeVolumesForTreasures": false,
|
|
"islandPoints": -1,
|
|
"islandTreasureBottleSupplyCrateOverrides": "",
|
|
"islandWidth": 306000.0,
|
|
"islandHeight": 306000.0,
|
|
"worldX": 5982748.5,
|
|
"worldY": 7427255.5,
|
|
"rotation": 0.0
|
|
},
|
|
{
|
|
"name": "Mnt_G_ET_PVE",
|
|
"id": 34,
|
|
"spawnerOverrides": {},
|
|
"minTreasureQuality": -1.0,
|
|
"maxTreasureQuality": -1.0,
|
|
"useNpcVolumesForTreasures": false,
|
|
"useLevelBoundsForTreasures": true,
|
|
"prioritizeVolumesForTreasures": false,
|
|
"islandPoints": -1,
|
|
"islandTreasureBottleSupplyCrateOverrides": "",
|
|
"islandWidth": 306000.0,
|
|
"islandHeight": 306000.0,
|
|
"worldX": 6351799.0,
|
|
"worldY": 8029860.0,
|
|
"rotation": 0.0
|
|
}
|
|
],
|
|
"discoZones": [
|
|
{
|
|
"name": "Jotunheim",
|
|
"sizeX": 283627.0,
|
|
"sizeY": 268249.5,
|
|
"sizeZ": 40000.0,
|
|
"id": 109,
|
|
"xp": 30.0,
|
|
"bIsManuallyPlaced": false,
|
|
"explorerNoteIndex": 0,
|
|
"allowSea": false,
|
|
"worldX": 5981788.5,
|
|
"worldY": 7414445.0,
|
|
"rotation": 0.0
|
|
},
|
|
{
|
|
"name": "The Ashen Reaches",
|
|
"sizeX": 289322.0,
|
|
"sizeY": 297295.5,
|
|
"sizeZ": 40000.0,
|
|
"id": 116,
|
|
"xp": 30.0,
|
|
"bIsManuallyPlaced": false,
|
|
"explorerNoteIndex": 0,
|
|
"allowSea": false,
|
|
"worldX": 6359387.5,
|
|
"worldY": 8013876.0,
|
|
"rotation": 0.0
|
|
}
|
|
],
|
|
"spawnRegions": [],
|
|
"serverTemplateName": "No Build PVE"
|
|
}
|
|
],
|
|
"spawnerOverrideTemplates": [],
|
|
"shipPaths": [],
|
|
"serverTemplates": [],
|
|
|
|
// ?!?!
|
|
"OverrideShooterGameModeDefaultGameIni": {}
|
|
});
|
|
ko.applyBindings(viewmodel);
|
|
|
|
updateEditor();
|
|
|
|
ko.computed(function () {
|
|
return ko.toJSON(viewmodel);
|
|
}).subscribe(function () {
|
|
updateEditor();
|
|
});
|
|
|
|
editor.on("change", function () {
|
|
setTimeout(function () {
|
|
ko.mapping.fromJSON(editor.getValue(), viewmodel);
|
|
}, 100);
|
|
});
|
|
|
|
function updateEditor() {
|
|
var interim = ko.mapping.toJS(viewmodel);
|
|
interim.coordsScaling = Number(interim.coordsScaling).toFixed(12);
|
|
editor.setValue(ko.toJSON(interim, null, 2));
|
|
}
|
|
|
|
function addDatabase() {
|
|
var newDB = {
|
|
"Name": ko.observable("NewDB"),
|
|
"URL": ko.observable("127.0.0.1"),
|
|
"Port": ko.observable(6390),
|
|
"Password": ko.observable("")
|
|
};
|
|
viewmodel.DatabaseConnections.push(newDB);
|
|
}
|
|
|
|
function removeDatabase(obj) {
|
|
viewmodel.DatabaseConnections.remove(obj);
|
|
}
|
|
|
|
var parser;
|
|
|
|
$.get('js/atlas.pegjs', function(data) {
|
|
console.log(data);
|
|
parser = PEG.buildParser(data);
|
|
console.log(parser.parse(viewmodel.servers()[0].GlobalBiomeSeamlessServerGridPreOffsetValues()));
|
|
}); |