Link to simulator with JSON data in URL fragment to run simulator automatically from external data:
https://kc3kai.github.io/kancolle-replay/simulator.html#{JSON here}

Properties marked (default)/(optional) may be omitted, otherwise required.
If ship/equip "masterId" not in simulator's database, "stats" is required.


{
	numSims: <int> (default 1000),
	fleetF: {
		ships: [{
			masterId: <int>,
			LVL: <int> (default 99 for player, 1 for abyssal, 50 for abyssal sub),
			stats: { (optional)
				HP: <int> (default based on LVL),
				FP: <int> (default max),
				TP: <int> (default max),
				AA: <int> (default max),
				AR: <int> (default max),
				LUK: <int> (default base),
				EV: <int> (default based on LVL),
				ASW: <int> (default based on LVL),
				LOS: <int> (default based on LVL),
				RNG: <int> (default base),
				SPD: <int> (default base),
				SLOTS: [<int>] (default base),
				TACC: <int> torpedo accuracy (default base),
				type: <int> or <string> ship class, use API number or hull code e.g. "DD" (default actual class)
			},
			HPInit: <int> (default = HP),
			fuelInit: <float> 0-1 percent (default 1),
			ammoInit: <float> 0-1 percent (default 1),
			morale: <int> (default 49),
			equips: (if omitted, default equips if abyssal, otherwise none) [{
				masterId: <int>,
				improve: <int> 0-10 (default 0),
				proficiency: <int> 0-7 (default 0),
				stats: { (optional, used only if not in simulator's database)
					type: <int> API number,
					FP/TP/AA/AR/EV/ASW/LOS/ACC/DIVEBOMB/RNG: <int>
				}
			}],
			includesEquipStats: <bool> if 1, specified ship stats are treated as already including equipment stats (default 0),
			bonuses: mapwide historical bonus (optional) {
				bonusDmg: <float>,
				bonusAcc: <float>,
				bonusEva: <float>
			},
			bonusesByNode: override values of "bonuses" on specified nodes (optional) {
				<node index>: <same format as bonuses>, excluded keys default to "bonuses" if any
			},
			bonusesDebuff: historical bonus applied to last node flagship only (optional) {
				bonusDmg: <float>
			},
			neverFCF: <bool> if 1, never use FCF to retreat this ship (default 0)
		}],
		combineType: <int> 1=CTF, 2=STF, 3=TCF (optional),
		shipsC: [<same as ships>] (optional),
		formation: <int>
	},
	fleetSupportN: {<same format as fleetF>} applies to all but last node,
	fleetSupportB: {<same format as fleetF>} applies to last node only,
	lbas: [{
		slots: [] (default [18,18,18,18]),
		equips: <same format as fleetF.ships[x].equips>, plus: {
			bonuses: mapwide historical bonus (optional) {
				bonusDmg: <float>
				bonusAcc: <float>
			}
		}
	}] (max 3),
	fleetFriendComps: (optional) [{
		weight: <int> selection ratio of comp (e.g. weights 2,3 -> 40%,60%)
		fleet: <same format as fleetF>,
	}],
	nodes: [{
		fleetE: <same format as fleetF> (either fleetE or fleetEComps required),
		fleetEComps: [{
			weight: <int> selection ratio of comp (e.g. weights 2,3 -> 40%,60%)
			fleet: <same format as fleetF>,
		}],
		doNB: <bool> (default 0),
		doNBCond: <string> (optional) "A"/"B": don't do NB if rank after day is already this or higher, "flagsunk": don't do NB if enemy flagship already sunk. "doNB" must be true,
		NBOnly: <bool> (default 0),
		airOnly: <bool> (default 0),
		airRaid: <bool> (default 0),
		noAmmo: <bool> (default 0),
		formationOverride: <int> overrides value in fleetF (optional),
		formationUseLAIfNoSpAttack: <bool> use Line Ahead if single or CF4 if combined, if special attack becomes impossible before this battle, overrides all (optional),
		lbas: [<int>] waves to send, e.g. [1,1,2,2] (optional),
		addCostFuel: <float> 0-1 percent, additional fuel per ship subtracted before battle (optional),
		addCostAmmo: <float> 0-1 percent, additional ammo per ship subtracted before battle (optional),
		useNormalSupport: <bool> works for last node only (default 0),
		useBalloon: <bool> enable Barrage Balloon bonus on this node,
		useAtoll: <bool> enable atoll node mechanics on this node,
		useSmoke: <bool> attempt to trigger smokescreen on this node,
	}],
	continueOnTaiha: <bool> (default 0),
	allowAnyFormation: <bool> don't replace impossible formations due to ship count (default 0),
	bucketHPPercent: <int> if HP percent <= bucketHPPercent, report as bucket used (default 0),
	bucketTime: <int> if repair time in seconds > bucketTime, report as bucket used (default "infinity"),
	bucketTimeIgnore: <int> if repair time in seconds < bucketTimeIgnore, ignore bucketHPPercent and bucketTime and do not report as bucket used (default 0),
	didSpecial: <bool> if fleet has already performed special attack, disables special attack for simulator (default 0),
	settingsFCF: optional {
		los: <float> required ELoS after FCF use (optional),
		losC: <int> ELoS coefficient (default 1),
		losNode: <int> applies check on this node index (1-indexed) and all nodes before it (default "all nodes"),
		radarCount: <int> required number of ships with surface radar (LOS >= 5) after FCF use
		radarNode: <int> applies check on this node index (1-indexed) and all nodes before it (default "all nodes"),
		rules: required ship type counts after FCF use (optional) [{
			types: [<int> or <string>] ship classes to check, use API number or hull code e.g. "DD", or use "XX" for "any",
			count: <int> required number after FCF use,
			node: <int> applies check on this node index (1-indexed) and all nodes before it (default "all nodes"),
		}],
		dameconNode: <int> ignore repair team/goddess on ships when determining retreat, applies on this node index (1-indexed) and all nodes before it (default "no nodes"),
	},
	mechanics: optional, all are <bool> (default 1) {
		artillerySpotting: 
		AACI: 
		fitGun: 
		OASW:
		morale:
		CVCI:
		DDCI:
	},
	consts: {
		dayShellSoftCap: <int> (default 180),
		aswSoftCap: <int> (default 150),
		accEcMF: <int> base accuracy of enemy combined player main fleet shelling (default 90),
		accEcME: <int> base accuracy of enemy combined enemy main fleet shelling (default 90),
		accEcEF: <int> base accuracy of enemy combined player escort fleet shelling (default 90),
		accEcEE: <int> base accuracy of enemy combined enemy escort fleet shelling (default 90),
		accSupportShellN: <int> (default 64),
		accSupportShellB: <int> (default 64),
		cvciAccModFBA: <float> (default 1.2),
		cvciAccModBBA: <float> (default 1.2),
		cvciAccModBA: <float> (default 1.2),
		cvciChanceFBA: <float> (default 1.25),
		cvciChanceBBA: <float> (default 1.4),
		cvciChanceBA: <float> (default 1.55)
	} (optional),
}


Basic example:

{
	"numSims": 10000,
	"fleetF": {
		"ships": [
			{ "masterId": 200, "equips": [{ "masterId": 4 }, { "masterId": 4 }, { "masterId": 41 }] }
		],
		"formation": 1
	},
	"nodes": [{
		"fleetE": {
			"ships": [
				{ "masterId": 1503 },
				{ "masterId": 1502 },
				{ "masterId": 1501 },
				{ "masterId": 1501 }
			],
			"formation": 2
		},
		"doNB": 1
	}]
}
Try Example