mirror of
https://github.com/OpenFusionProject/Client.git
synced 2026-01-18 09:00:04 +00:00
Compare commits
12 Commits
f11bc2b3ac
...
1.6.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d4a1ecebc7 | ||
|
|
323b5a3385 | ||
|
|
c898cacd7c | ||
|
|
e5b20f57ce | ||
|
|
1eee35b230 | ||
|
|
d8363b61a6 | ||
|
|
6239f383bc | ||
|
|
19e036ddf9 | ||
|
4503c9268e
|
|||
|
947c231b12
|
|||
|
37699e38f8
|
|||
|
|
451cb4a2af |
@@ -59,12 +59,24 @@ body {
|
|||||||
"Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
"Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||||
}
|
}
|
||||||
|
|
||||||
#of-versionnumberdiv {
|
#of-about-button-div {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
bottom: 4px;
|
bottom: 4px;
|
||||||
right: 8px;
|
right: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#of-about-flash-div {
|
||||||
|
position: fixed;
|
||||||
|
bottom: 4px;
|
||||||
|
right: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#of-config-button-div {
|
||||||
|
position: fixed;
|
||||||
|
bottom: 4px;
|
||||||
|
left: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
.btn-primary {
|
.btn-primary {
|
||||||
background-image: url("../../assets/img/btn-primary-bg.png");
|
background-image: url("../../assets/img/btn-primary-bg.png");
|
||||||
background-repeat: repeat;
|
background-repeat: repeat;
|
||||||
@@ -85,6 +97,18 @@ body {
|
|||||||
background-repeat: repeat;
|
background-repeat: repeat;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.form-check-input {
|
||||||
|
width: 25px;
|
||||||
|
height: 25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form-check-label {
|
||||||
|
height: 25px;
|
||||||
|
margin-top: 5px;
|
||||||
|
margin-left: 10px;
|
||||||
|
font-size: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
#of-aboutmodal > .modal-dialog > .modal-content {
|
#of-aboutmodal > .modal-dialog > .modal-content {
|
||||||
background-color: #093363;
|
background-color: #093363;
|
||||||
border-color: #6699ff;
|
border-color: #6699ff;
|
||||||
@@ -186,3 +210,19 @@ button > i {
|
|||||||
background: #000;
|
background: #000;
|
||||||
clear: both;
|
clear: both;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@keyframes pulse {
|
||||||
|
0% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
50% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.pulsing {
|
||||||
|
animation: pulse 2s infinite;
|
||||||
|
}
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ var configPath = path.join(userData, "config.json");
|
|||||||
var serversPath = path.join(userData, "servers.json");
|
var serversPath = path.join(userData, "servers.json");
|
||||||
var versionsPath = path.join(userData, "versions.json");
|
var versionsPath = path.join(userData, "versions.json");
|
||||||
var cacheRoot = path.join(userData, "/../../LocalLow/Unity/Web Player/Cache");
|
var cacheRoot = path.join(userData, "/../../LocalLow/Unity/Web Player/Cache");
|
||||||
var offlineRootDefault = path.join(cacheRoot, "Offline");
|
var offlineRootDefault = path.join(cacheRoot, "../OfflineCache");
|
||||||
var offlineRoot = offlineRootDefault;
|
var offlineRoot = offlineRootDefault;
|
||||||
|
|
||||||
var cdnString = "http://cdn.dexlabs.systems/ff/big";
|
var cdnString = "http://cdn.dexlabs.systems/ff/big";
|
||||||
@@ -78,7 +78,36 @@ function getAppVersion() {
|
|||||||
|
|
||||||
function setAppVersionText() {
|
function setAppVersionText() {
|
||||||
$("#of-aboutversionnumber").text("Version " + getAppVersion());
|
$("#of-aboutversionnumber").text("Version " + getAppVersion());
|
||||||
$("#of-versionnumber").text("v" + getAppVersion());
|
}
|
||||||
|
|
||||||
|
function checkForNewAppVersion() {
|
||||||
|
$("#of-about-button").removeClass("pulsing");
|
||||||
|
setAppVersionText();
|
||||||
|
if (config["autoupdate-check"] === true) {
|
||||||
|
$.getJSON(
|
||||||
|
"https://api.github.com/repos/OpenFusionProject/OpenFusionClient/releases/latest",
|
||||||
|
{},
|
||||||
|
function (data) {
|
||||||
|
$.each(data, function (index, element) {
|
||||||
|
if (index === "tag_name" && element != remote.require("app").getVersion()) {
|
||||||
|
console.log("New version available: " + element);
|
||||||
|
var downloadPage =
|
||||||
|
"https://github.com/OpenFusionProject/OpenFusionClient/releases/latest";
|
||||||
|
$("#of-aboutversionnumber").html(
|
||||||
|
"Version " +
|
||||||
|
getAppVersion() +
|
||||||
|
`<br>A new version is available! ` +
|
||||||
|
`Click <a href="#" onclick='remote.require("shell").openExternal("` +
|
||||||
|
downloadPage +
|
||||||
|
`");'>here</a> to download.`
|
||||||
|
);
|
||||||
|
$("#of-about-button").addClass("pulsing");
|
||||||
|
return false; // break out of loop early
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function validateServerSave(modalName) {
|
function validateServerSave(modalName) {
|
||||||
@@ -329,13 +358,22 @@ function editConfig() {
|
|||||||
function validateCacheLocation() {
|
function validateCacheLocation() {
|
||||||
var input = document.getElementById("editconfig-offlinecachelocation");
|
var input = document.getElementById("editconfig-offlinecachelocation");
|
||||||
var button = document.getElementById("editconfig-savebutton");
|
var button = document.getElementById("editconfig-savebutton");
|
||||||
|
var parent = path.join(input.value, "/..");
|
||||||
|
|
||||||
input.classList.remove("invalidinput");
|
input.classList.remove("invalidinput");
|
||||||
button.removeAttribute("disabled");
|
button.removeAttribute("disabled");
|
||||||
|
|
||||||
|
// Parent MUST exist and be a directory
|
||||||
|
// If the target exists, check that is also a directory
|
||||||
|
// Also, prevent putting the offline cache inside of
|
||||||
|
// the normal cache folder to prevent shenanigans
|
||||||
if (
|
if (
|
||||||
!remotefs.existsSync(input.value) ||
|
!remotefs.existsSync(parent) ||
|
||||||
!remotefs.statSync(input.value).isDirectory()
|
!remotefs.statSync(parent).isDirectory() ||
|
||||||
|
(remotefs.existsSync(input.value) &&
|
||||||
|
!remotefs.statSync(input.value).isDirectory()) ||
|
||||||
|
path.join(input.value, ".") === path.join(cacheRoot, "/..") ||
|
||||||
|
path.join(input.value, ".").startsWith(path.join(cacheRoot))
|
||||||
) {
|
) {
|
||||||
input.classList.add("invalidinput");
|
input.classList.add("invalidinput");
|
||||||
button.setAttribute("disabled", "");
|
button.setAttribute("disabled", "");
|
||||||
@@ -374,6 +412,7 @@ function loadConfig() {
|
|||||||
offlineRoot = config["offline-cache-location"] || offlineRootDefault;
|
offlineRoot = config["offline-cache-location"] || offlineRootDefault;
|
||||||
$("#editconfig-offlinecachelocation:text").val(offlineRoot);
|
$("#editconfig-offlinecachelocation:text").val(offlineRoot);
|
||||||
|
|
||||||
|
checkForNewAppVersion();
|
||||||
validateCacheLocation();
|
validateCacheLocation();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -949,6 +988,17 @@ function prepConnection(address, port) {
|
|||||||
launchGame();
|
launchGame();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function browseOfflineCache() {
|
||||||
|
var browsePath = dialog.showOpenDialog({ properties: ["openDirectory"] });
|
||||||
|
var offlineCacheInput = document.getElementById(
|
||||||
|
"editconfig-offlinecachelocation"
|
||||||
|
);
|
||||||
|
if (browsePath && offlineCacheInput) {
|
||||||
|
offlineCacheInput.value = browsePath;
|
||||||
|
validateCacheLocation();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Returns the UUID of the server with the selected background color.
|
// Returns the UUID of the server with the selected background color.
|
||||||
// Yes, there are probably better ways to go about this, but it works well enough.
|
// Yes, there are probably better ways to go about this, but it works well enough.
|
||||||
function getSelectedServer() {
|
function getSelectedServer() {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
|
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
|
||||||
<assemblyIdentity type="win32" name="OpenFusion.Client" version="1.5.2.0" processorArchitecture="x86" />
|
<assemblyIdentity type="win32" name="OpenFusion.Client" version="1.6.0.0" processorArchitecture="x86" />
|
||||||
<dependency>
|
<dependency>
|
||||||
<dependentAssembly>
|
<dependentAssembly>
|
||||||
<assemblyIdentity type="Win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*">
|
<assemblyIdentity type="Win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*">
|
||||||
|
|||||||
2
defaults/config.json
vendored
2
defaults/config.json
vendored
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"autoupdate-check": true,
|
"autoupdate-check": true,
|
||||||
"cache-swapping": true,
|
"cache-swapping": true,
|
||||||
"enable-offline-cache": false,
|
"enable-offline-cache": true,
|
||||||
"verify-offline-cache": false,
|
"verify-offline-cache": false,
|
||||||
"last-version-initialized": "1.6"
|
"last-version-initialized": "1.6"
|
||||||
}
|
}
|
||||||
|
|||||||
164
index.html
164
index.html
@@ -108,18 +108,6 @@
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-4 d-inline-flex justify-content-end">
|
<div class="col-4 d-inline-flex justify-content-end">
|
||||||
<button
|
|
||||||
class="btn btn-primary mr-1"
|
|
||||||
data-toggle="modal"
|
|
||||||
data-bs-tooltip=""
|
|
||||||
data-placement="bottom"
|
|
||||||
id="of-editconfig-button"
|
|
||||||
type="button"
|
|
||||||
title="Edit Configuration"
|
|
||||||
data-target="#of-editconfigmodal"
|
|
||||||
>
|
|
||||||
<i class="fas fa-cog"></i>
|
|
||||||
</button>
|
|
||||||
<button
|
<button
|
||||||
class="btn btn-primary mr-1"
|
class="btn btn-primary mr-1"
|
||||||
data-toggle="modal"
|
data-toggle="modal"
|
||||||
@@ -183,6 +171,7 @@
|
|||||||
data-target="#of-restoreserversmodal"
|
data-target="#of-restoreserversmodal"
|
||||||
>Reset to Default Servers</a
|
>Reset to Default Servers</a
|
||||||
>
|
>
|
||||||
|
<br />
|
||||||
<a
|
<a
|
||||||
href="#of-restoreversionsmodal"
|
href="#of-restoreversionsmodal"
|
||||||
onclick="$('#of-aboutmodal').modal('toggle')"
|
onclick="$('#of-aboutmodal').modal('toggle')"
|
||||||
@@ -501,46 +490,80 @@
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<form id="editconfig-form" class="needs-validation">
|
<form
|
||||||
<label for="editconfig-autoupdate"
|
id="editconfig-form"
|
||||||
>Automatically update the client:</label
|
class="needs-validation form-group"
|
||||||
><input
|
>
|
||||||
class="form-control form-row w-75"
|
<div class="form-check form-row">
|
||||||
type="checkbox"
|
<input
|
||||||
id="editconfig-autoupdate"
|
class="form-check-input"
|
||||||
/>
|
type="checkbox"
|
||||||
<label for="editconfig-cacheswapping"
|
id="editconfig-autoupdate"
|
||||||
>Swap game caches to avoid unnecessary
|
/>
|
||||||
downloads:</label
|
<label
|
||||||
><input
|
class="form-check-label"
|
||||||
class="form-control form-row w-75"
|
for="editconfig-autoupdate"
|
||||||
type="checkbox"
|
>Automatically check for updates</label
|
||||||
id="editconfig-cacheswapping"
|
>
|
||||||
/>
|
</div>
|
||||||
<label for="editconfig-enableofflinecache"
|
<div class="form-check form-row">
|
||||||
>Use offline caches when they are
|
<input
|
||||||
available:</label
|
class="form-check-input"
|
||||||
><input
|
type="checkbox"
|
||||||
class="form-control form-row w-75"
|
id="editconfig-cacheswapping"
|
||||||
type="checkbox"
|
/>
|
||||||
id="editconfig-enableofflinecache"
|
<label
|
||||||
/>
|
class="form-check-label"
|
||||||
<label for="editconfig-verifyofflinecache"
|
for="editconfig-cacheswapping"
|
||||||
>Verify offline caches every time they are
|
>Swap game caches to avoid unnecessary
|
||||||
loaded:</label
|
downloads</label
|
||||||
><input
|
>
|
||||||
class="form-control form-row w-75"
|
</div>
|
||||||
type="checkbox"
|
<div class="form-check form-row">
|
||||||
id="editconfig-verifyofflinecache"
|
<input
|
||||||
/>
|
class="form-check-input"
|
||||||
|
type="checkbox"
|
||||||
|
id="editconfig-enableofflinecache"
|
||||||
|
/>
|
||||||
|
<label
|
||||||
|
class="form-check-label"
|
||||||
|
for="editconfig-enableofflinecache"
|
||||||
|
>Use offline caches when they are
|
||||||
|
available</label
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
<div class="form-check form-row mb-3">
|
||||||
|
<input
|
||||||
|
class="form-check-input"
|
||||||
|
type="checkbox"
|
||||||
|
id="editconfig-verifyofflinecache"
|
||||||
|
/>
|
||||||
|
<label
|
||||||
|
class="form-check-label"
|
||||||
|
for="editconfig-verifyofflinecache"
|
||||||
|
>Verify offline caches every time they
|
||||||
|
are loaded</label
|
||||||
|
>
|
||||||
|
</div>
|
||||||
<label for="editconfig-offlinecachelocation"
|
<label for="editconfig-offlinecachelocation"
|
||||||
>Select Offline Cache Location:</label
|
><h5>Offline Cache Location:</h5></label
|
||||||
><input
|
>
|
||||||
class="form-control form-row w-75"
|
<div class="form-row">
|
||||||
id="editconfig-offlinecachelocation"
|
<input
|
||||||
type="text"
|
class="form-control w-75"
|
||||||
oninput="validateCacheLocation()"
|
id="editconfig-offlinecachelocation"
|
||||||
/>
|
type="text"
|
||||||
|
oninput="validateCacheLocation()"
|
||||||
|
/>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class="btn btn-primary ml-1"
|
||||||
|
onclick="browseOfflineCache()"
|
||||||
|
title="Browse"
|
||||||
|
>
|
||||||
|
<i class="fas fa-folder"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
@@ -668,7 +691,7 @@
|
|||||||
<div class="modal-dialog modal-dialog-centered" role="document">
|
<div class="modal-dialog modal-dialog-centered" role="document">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h4 class="modal-title">Add Server</h4>
|
<h4 class="modal-title">Add Version</h4>
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
class="close"
|
class="close"
|
||||||
@@ -886,15 +909,38 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="of-versionnumberdiv">
|
<div id="of-config-button-div">
|
||||||
<a
|
<button
|
||||||
id="of-versionnumber"
|
class="btn btn-primary mr-1"
|
||||||
class="text-monospace text-secondary"
|
|
||||||
href="#of-aboutmodal"
|
|
||||||
data-toggle="modal"
|
data-toggle="modal"
|
||||||
data-target="#of-aboutmodal"
|
data-bs-tooltip=""
|
||||||
>v0</a
|
data-placement="right"
|
||||||
|
id="of-editconfig-button"
|
||||||
|
type="button"
|
||||||
|
title="Edit Configuration"
|
||||||
|
data-target="#of-editconfigmodal"
|
||||||
>
|
>
|
||||||
|
<i class="fas fa-cog"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div id="of-about-button-div">
|
||||||
|
<button
|
||||||
|
class="btn btn-primary mr-1"
|
||||||
|
data-toggle="modal"
|
||||||
|
data-bs-tooltip=""
|
||||||
|
data-placement="left"
|
||||||
|
id="of-about-button"
|
||||||
|
type="button"
|
||||||
|
title="About OpenFusionClient"
|
||||||
|
data-target="#of-aboutmodal"
|
||||||
|
>
|
||||||
|
<i class="fas fa-info-circle"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div id="of-about-flash-div" style="z-index: -1">
|
||||||
|
<button class="btn btn-warning mr-1" tabindex="-1" type="button">
|
||||||
|
<i class="fas fa-info-circle"></i>
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<section>
|
<section>
|
||||||
|
|||||||
79
index.js
79
index.js
@@ -30,28 +30,83 @@ var serversPath = path.join(userData, "servers.json");
|
|||||||
var versionsPath = path.join(userData, "versions.json");
|
var versionsPath = path.join(userData, "versions.json");
|
||||||
var hashPath = path.join(userData, "hashes.json");
|
var hashPath = path.join(userData, "hashes.json");
|
||||||
|
|
||||||
|
function backup() {
|
||||||
|
if (fs.existsSync(configPath)) fs.copySync(configPath, configPath + ".bak");
|
||||||
|
if (fs.existsSync(serversPath))
|
||||||
|
fs.copySync(serversPath, serversPath + ".bak");
|
||||||
|
if (fs.existsSync(versionsPath))
|
||||||
|
fs.copySync(versionsPath, versionsPath + ".bak");
|
||||||
|
if (fs.existsSync(hashPath)) fs.copySync(hashPath, hashPath + ".bak");
|
||||||
|
}
|
||||||
|
|
||||||
|
function patchVersions() {
|
||||||
|
var current = fs.readJsonSync(versionsPath);
|
||||||
|
var newDefaults = fs.readJsonSync(
|
||||||
|
path.join(__dirname, "/defaults/versions.json")
|
||||||
|
);
|
||||||
|
for (var i = 0; i < newDefaults["versions"].length; i++) {
|
||||||
|
var newDefault = newDefaults["versions"][i];
|
||||||
|
var found = false;
|
||||||
|
for (var j = 0; j < current["versions"].length; j++) {
|
||||||
|
var version = current["versions"][j];
|
||||||
|
if (newDefault["name"] === version["name"]) {
|
||||||
|
current["versions"][j] = newDefault;
|
||||||
|
found = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!found) {
|
||||||
|
current["versions"].push(newDefault);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fs.writeFileSync(versionsPath, JSON.stringify(current, null, 4));
|
||||||
|
}
|
||||||
|
|
||||||
|
function patchServers() {
|
||||||
|
var current = fs.readJsonSync(serversPath);
|
||||||
|
var newDefaults = fs.readJsonSync(
|
||||||
|
path.join(__dirname, "/defaults/servers.json")
|
||||||
|
);
|
||||||
|
for (var i = 0; i < newDefaults["servers"].length; i++) {
|
||||||
|
var newDefault = newDefaults["servers"][i];
|
||||||
|
var found = false;
|
||||||
|
for (var j = 0; j < current["servers"].length; j++) {
|
||||||
|
var server = current["servers"][j];
|
||||||
|
if (newDefault["uuid"] === server["uuid"]) {
|
||||||
|
current["servers"][j] = newDefault;
|
||||||
|
found = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!found) {
|
||||||
|
current["servers"].push(newDefault);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fs.writeFileSync(serversPath, JSON.stringify(current, null, 4));
|
||||||
|
}
|
||||||
|
|
||||||
function initialSetup(firstTime) {
|
function initialSetup(firstTime) {
|
||||||
if (!firstTime) {
|
backup();
|
||||||
// Migration from pre-1.6
|
|
||||||
// Back everything up, just in case
|
if (firstTime) {
|
||||||
if (fs.existsSync(configPath))
|
|
||||||
fs.copySync(configPath, configPath + ".bak");
|
|
||||||
if (fs.existsSync(serversPath))
|
|
||||||
fs.copySync(serversPath, serversPath + ".bak");
|
|
||||||
if (fs.existsSync(versionsPath))
|
|
||||||
fs.copySync(versionsPath, versionsPath + ".bak");
|
|
||||||
if (fs.existsSync(hashPath)) fs.copySync(hashPath, hashPath + ".bak");
|
|
||||||
} else {
|
|
||||||
// First-time setup
|
// First-time setup
|
||||||
// Copy default servers
|
// Copy default servers
|
||||||
fs.copySync(
|
fs.copySync(
|
||||||
path.join(__dirname, "/defaults/servers.json"),
|
path.join(__dirname, "/defaults/servers.json"),
|
||||||
serversPath
|
serversPath
|
||||||
);
|
);
|
||||||
|
fs.copySync(
|
||||||
|
path.join(__dirname, "/defaults/versions.json"),
|
||||||
|
versionsPath
|
||||||
|
);
|
||||||
|
} else if (fs.existsSync(serversPath)) {
|
||||||
|
// Migration
|
||||||
|
// Update default servers and versions
|
||||||
|
patchVersions();
|
||||||
|
patchServers();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Copy default versions and config
|
// Copy default versions and config
|
||||||
fs.copySync(path.join(__dirname, "/defaults/versions.json"), versionsPath);
|
|
||||||
fs.copySync(path.join(__dirname, "/defaults/config.json"), configPath);
|
fs.copySync(path.join(__dirname, "/defaults/config.json"), configPath);
|
||||||
fs.copySync(path.join(__dirname, "/defaults/hashes.json"), hashPath);
|
fs.copySync(path.join(__dirname, "/defaults/hashes.json"), hashPath);
|
||||||
|
|
||||||
|
|||||||
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "OpenFusionClient",
|
"name": "OpenFusionClient",
|
||||||
"version": "1.5.2",
|
"version": "1.6.0",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "OpenFusionClient",
|
"name": "OpenFusionClient",
|
||||||
"version": "1.5.2",
|
"version": "1.6.0",
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "OpenFusionClient",
|
"name": "OpenFusionClient",
|
||||||
"version": "1.5.2",
|
"version": "1.6.0",
|
||||||
"description": "OpenFusionClient",
|
"description": "OpenFusionClient",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
Reference in New Issue
Block a user