Compare commits

...

3 Commits

Author SHA1 Message Date
0342f52359 chore(webui): inform users how to resync their client for certain cheats (#2750)
Reviewed-on: OpenWF/SpaceNinjaServer#2750
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-09-04 23:42:52 -07:00
ea9012bd56 chore: use raw running in update and start script if node is new enough (#2749)
Reviewed-on: OpenWF/SpaceNinjaServer#2749
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
2025-09-04 23:42:45 -07:00
13400b6d83 chore(webui): update to Spanish translation (#2751)
Reviewed-on: OpenWF/SpaceNinjaServer#2751
Co-authored-by: hxedcl <hxedcl@noreply.localhost>
Co-committed-by: hxedcl <hxedcl@noreply.localhost>
2025-09-04 23:36:10 -07:00
10 changed files with 42 additions and 25 deletions

View File

@ -14,13 +14,18 @@ if %errorlevel% == 0 (
) )
echo Updating dependencies... echo Updating dependencies...
node scripts/raw-precheck.js > NUL
if %errorlevel% == 0 (
call npm i --omit=dev --omit=optional
call npm run raw
) else (
call npm i --omit=dev call npm i --omit=dev
call npm run build call npm run build
if %errorlevel% == 0 ( if %errorlevel% == 0 (
call npm run start call npm run start
echo SpaceNinjaServer seems to have crashed.
) )
)
echo SpaceNinjaServer seems to have crashed.
) )
:a :a

View File

@ -14,11 +14,16 @@ if [ $? -eq 0 ]; then
fi fi
echo "Updating dependencies..." echo "Updating dependencies..."
node scripts/raw-precheck.js > /dev/null
if [ $? -eq 0 ]; then
npm i --omit=dev --omit=optional
npm run raw
else
npm i --omit=dev npm i --omit=dev
npm run build npm run build
if [ $? -eq 0 ]; then if [ $? -eq 0 ]; then
npm run start npm run start
echo "SpaceNinjaServer seems to have crashed."
fi fi
fi
echo "SpaceNinjaServer seems to have crashed."
fi fi

View File

@ -2753,19 +2753,19 @@ async function doMaxPlexus() {
async function doUnlockAllScans() { async function doUnlockAllScans() {
await revalidateAuthz(); await revalidateAuthz();
await fetch("/custom/unlockAllScans?" + window.authz); await fetch("/custom/unlockAllScans?" + window.authz);
toast(loc("cheats_unlockSucc")); toast(loc("cheats_unlockSuccRelog"));
} }
async function doUnlockAllShipFeatures() { async function doUnlockAllShipFeatures() {
await revalidateAuthz(); await revalidateAuthz();
await fetch("/custom/unlockAllShipFeatures?" + window.authz); await fetch("/custom/unlockAllShipFeatures?" + window.authz);
toast(loc("cheats_unlockSucc")); toast(loc("cheats_unlockSuccInventory"));
} }
async function doUnlockAllCapturaScenes() { async function doUnlockAllCapturaScenes() {
await revalidateAuthz(); await revalidateAuthz();
await fetch("/custom/unlockAllCapturaScenes?" + window.authz); await fetch("/custom/unlockAllCapturaScenes?" + window.authz);
toast(loc("cheats_unlockSucc")); toast(loc("cheats_unlockSuccInventory"));
} }
async function unlockAllMissions() { async function unlockAllMissions() {
@ -2777,13 +2777,13 @@ async function unlockAllMissions() {
async function unlockAllProfitTakerStages() { async function unlockAllProfitTakerStages() {
await revalidateAuthz(); await revalidateAuthz();
await fetch("/custom/unlockAllProfitTakerStages?" + window.authz); await fetch("/custom/unlockAllProfitTakerStages?" + window.authz);
toast(loc("cheats_unlockSucc")); toast(loc("cheats_unlockSuccInventory"));
} }
async function unlockAllSimarisResearchEntries() { async function unlockAllSimarisResearchEntries() {
await revalidateAuthz(); await revalidateAuthz();
await fetch("/custom/unlockAllSimarisResearchEntries?" + window.authz); await fetch("/custom/unlockAllSimarisResearchEntries?" + window.authz);
toast(loc("cheats_unlockSucc")); toast(loc("cheats_unlockSuccInventory"));
} }
const importSamples = { const importSamples = {

View File

@ -176,6 +176,7 @@ dict = {
cheats_skipTutorial: `Tutorial überspringen`, cheats_skipTutorial: `Tutorial überspringen`,
cheats_skipAllDialogue: `Alle Dialoge überspringen`, cheats_skipAllDialogue: `Alle Dialoge überspringen`,
cheats_unlockAllScans: `Alle Scans freischalten`, cheats_unlockAllScans: `Alle Scans freischalten`,
cheats_unlockSuccRelog: `[UNTRANSLATED] Success. Please that you'll need to relog for the client to refresh this.`,
cheats_unlockAllMissions: `Alle Missionen freischalten`, cheats_unlockAllMissions: `Alle Missionen freischalten`,
cheats_unlockAllMissions_ok: `Erfolgreich. Bitte beachte, dass du ein Dojo/Relais besuchen oder dich neu einloggen musst, damit die Sternenkarte aktualisiert wird.`, cheats_unlockAllMissions_ok: `Erfolgreich. Bitte beachte, dass du ein Dojo/Relais besuchen oder dich neu einloggen musst, damit die Sternenkarte aktualisiert wird.`,
cheats_infiniteCredits: `Unendlich Credits`, cheats_infiniteCredits: `Unendlich Credits`,
@ -212,7 +213,7 @@ dict = {
cheats_baroFullyStocked: `Baro hat volles Inventar`, cheats_baroFullyStocked: `Baro hat volles Inventar`,
cheats_syndicateMissionsRepeatable: `Syndikat-Missionen wiederholbar`, cheats_syndicateMissionsRepeatable: `Syndikat-Missionen wiederholbar`,
cheats_unlockAllProfitTakerStages: `Alle Profiteintreiber-Phasen freischalten`, cheats_unlockAllProfitTakerStages: `Alle Profiteintreiber-Phasen freischalten`,
cheats_unlockSucc: `[UNTRANSLATED] Successfully unlocked.`, cheats_unlockSuccInventory: `[UNTRANSLATED] Success. Please note that you'll need to resync your inventory, e.g. using the bootstrapper's /sync command, visiting a dojo/relay, or relogging..`,
cheats_instantFinishRivenChallenge: `Riven-Mod Herausforderung sofort abschließen`, cheats_instantFinishRivenChallenge: `Riven-Mod Herausforderung sofort abschließen`,
cheats_instantResourceExtractorDrones: `Sofortige Ressourcen-Extraktor-Drohnen`, cheats_instantResourceExtractorDrones: `Sofortige Ressourcen-Extraktor-Drohnen`,
cheats_noResourceExtractorDronesDamage: `Kein Schaden für Ressourcen-Extraktor-Drohnen`, cheats_noResourceExtractorDronesDamage: `Kein Schaden für Ressourcen-Extraktor-Drohnen`,

View File

@ -175,6 +175,7 @@ dict = {
cheats_skipTutorial: `Skip Tutorial`, cheats_skipTutorial: `Skip Tutorial`,
cheats_skipAllDialogue: `Skip All Dialogue`, cheats_skipAllDialogue: `Skip All Dialogue`,
cheats_unlockAllScans: `Unlock All Scans`, cheats_unlockAllScans: `Unlock All Scans`,
cheats_unlockSuccRelog: `Success. Please that you'll need to relog for the client to refresh this.`,
cheats_unlockAllMissions: `Unlock All Missions`, cheats_unlockAllMissions: `Unlock All Missions`,
cheats_unlockAllMissions_ok: `Success. Please note that you'll need to enter a dojo/relay or relog for the client to refresh the star chart.`, cheats_unlockAllMissions_ok: `Success. Please note that you'll need to enter a dojo/relay or relog for the client to refresh the star chart.`,
cheats_infiniteCredits: `Infinite Credits`, cheats_infiniteCredits: `Infinite Credits`,
@ -211,7 +212,7 @@ dict = {
cheats_baroFullyStocked: `Baro Fully Stocked`, cheats_baroFullyStocked: `Baro Fully Stocked`,
cheats_syndicateMissionsRepeatable: `Syndicate Missions Repeatable`, cheats_syndicateMissionsRepeatable: `Syndicate Missions Repeatable`,
cheats_unlockAllProfitTakerStages: `Unlock All Profit Taker Stages`, cheats_unlockAllProfitTakerStages: `Unlock All Profit Taker Stages`,
cheats_unlockSucc: `Successfully unlocked.`, cheats_unlockSuccInventory: `Success. Please note that you'll need to resync your inventory, e.g. using the bootstrapper's /sync command, visiting a dojo/relay, or relogging..`,
cheats_instantFinishRivenChallenge: `Instant Finish Riven Challenge`, cheats_instantFinishRivenChallenge: `Instant Finish Riven Challenge`,
cheats_instantResourceExtractorDrones: `Instant Resource Extractor Drones`, cheats_instantResourceExtractorDrones: `Instant Resource Extractor Drones`,
cheats_noResourceExtractorDronesDamage: `No Resource Extractor Drones Damage`, cheats_noResourceExtractorDronesDamage: `No Resource Extractor Drones Damage`,

View File

@ -79,8 +79,8 @@ dict = {
navbar_cheats: `Trucos`, navbar_cheats: `Trucos`,
navbar_import: `Importar`, navbar_import: `Importar`,
inventory_addItems: `Agregar objetos`, inventory_addItems: `Agregar objetos`,
inventory_addItemByItemType: `[UNTRANSLATED] Raw`, inventory_addItemByItemType: `Sin refinar`,
inventory_addItemByItemType_warning: `[UNTRANSLATED] Use this feature at your own risk. It may break your inventory, and you will need to remove items manually if something goes wrong.`, inventory_addItemByItemType_warning: `Usa esta función bajo tu propio riesgo. Podría dañar tu inventario, y tendrías que eliminar los objetos manualmente si algo sale mal.`,
inventory_suits: `Warframes`, inventory_suits: `Warframes`,
inventory_longGuns: `Armas primarias`, inventory_longGuns: `Armas primarias`,
inventory_pistols: `Armas secundarias`, inventory_pistols: `Armas secundarias`,
@ -176,6 +176,7 @@ dict = {
cheats_skipTutorial: `Omitir tutorial`, cheats_skipTutorial: `Omitir tutorial`,
cheats_skipAllDialogue: `Omitir todos los diálogos`, cheats_skipAllDialogue: `Omitir todos los diálogos`,
cheats_unlockAllScans: `Desbloquear todos los escaneos`, cheats_unlockAllScans: `Desbloquear todos los escaneos`,
cheats_unlockSuccRelog: `[UNTRANSLATED] Success. Please that you'll need to relog for the client to refresh this.`,
cheats_unlockAllMissions: `Desbloquear todas las misiones`, cheats_unlockAllMissions: `Desbloquear todas las misiones`,
cheats_unlockAllMissions_ok: `Éxito. Ten en cuenta que deberás entrar a un dojo, repetidor o volver a iniciar sesión para que el cliente actualice el mapa estelar.`, cheats_unlockAllMissions_ok: `Éxito. Ten en cuenta que deberás entrar a un dojo, repetidor o volver a iniciar sesión para que el cliente actualice el mapa estelar.`,
cheats_infiniteCredits: `Créditos infinitos`, cheats_infiniteCredits: `Créditos infinitos`,
@ -212,7 +213,7 @@ dict = {
cheats_baroFullyStocked: `Baro con stock completo`, cheats_baroFullyStocked: `Baro con stock completo`,
cheats_syndicateMissionsRepeatable: `Misiones de sindicato rejugables`, cheats_syndicateMissionsRepeatable: `Misiones de sindicato rejugables`,
cheats_unlockAllProfitTakerStages: `Desbloquea todas las etapas del Roba-ganancias`, cheats_unlockAllProfitTakerStages: `Desbloquea todas las etapas del Roba-ganancias`,
cheats_unlockSucc: `[UNTRANSLATED] Successfully unlocked.`, cheats_unlockSuccInventory: `[UNTRANSLATED] Success. Please note that you'll need to resync your inventory, e.g. using the bootstrapper's /sync command, visiting a dojo/relay, or relogging..`,
cheats_instantFinishRivenChallenge: `Terminar desafío de agrietado inmediatamente`, cheats_instantFinishRivenChallenge: `Terminar desafío de agrietado inmediatamente`,
cheats_instantResourceExtractorDrones: `Drones de extracción de recursos instantáneos`, cheats_instantResourceExtractorDrones: `Drones de extracción de recursos instantáneos`,
cheats_noResourceExtractorDronesDamage: `Sin daño a los drones extractores de recursos`, cheats_noResourceExtractorDronesDamage: `Sin daño a los drones extractores de recursos`,
@ -241,7 +242,7 @@ dict = {
cheats_changeSupportedSyndicate: `Sindicatos disponibles`, cheats_changeSupportedSyndicate: `Sindicatos disponibles`,
cheats_changeButton: `Cambiar`, cheats_changeButton: `Cambiar`,
cheats_markAllAsRead: `Marcar bandeja de entrada como leída`, cheats_markAllAsRead: `Marcar bandeja de entrada como leída`,
cheats_finishInvasionsInOneMission: `[UNTRANSLATED] Finish Invasions in One Mission`, cheats_finishInvasionsInOneMission: `Finaliza Invasión en una mision`,
worldState: `Estado del mundo`, worldState: `Estado del mundo`,
worldState_creditBoost: `Potenciador de Créditos`, worldState_creditBoost: `Potenciador de Créditos`,

View File

@ -176,6 +176,7 @@ dict = {
cheats_skipTutorial: `Passer le tutoriel`, cheats_skipTutorial: `Passer le tutoriel`,
cheats_skipAllDialogue: `Passer les dialogues`, cheats_skipAllDialogue: `Passer les dialogues`,
cheats_unlockAllScans: `Débloquer tous les scans`, cheats_unlockAllScans: `Débloquer tous les scans`,
cheats_unlockSuccRelog: `[UNTRANSLATED] Success. Please that you'll need to relog for the client to refresh this.`,
cheats_unlockAllMissions: `Débloquer toutes les missions`, cheats_unlockAllMissions: `Débloquer toutes les missions`,
cheats_unlockAllMissions_ok: `Succès. Une actualisation de l'inventaire est nécessaire.`, cheats_unlockAllMissions_ok: `Succès. Une actualisation de l'inventaire est nécessaire.`,
cheats_infiniteCredits: `Crédits infinis`, cheats_infiniteCredits: `Crédits infinis`,
@ -212,7 +213,7 @@ dict = {
cheats_baroFullyStocked: `Stock de Baro au max`, cheats_baroFullyStocked: `Stock de Baro au max`,
cheats_syndicateMissionsRepeatable: `Mission syndicat répétables`, cheats_syndicateMissionsRepeatable: `Mission syndicat répétables`,
cheats_unlockAllProfitTakerStages: `Débloquer toutes les étapes du Preneur de Profit`, cheats_unlockAllProfitTakerStages: `Débloquer toutes les étapes du Preneur de Profit`,
cheats_unlockSucc: `[UNTRANSLATED] Successfully unlocked.`, cheats_unlockSuccInventory: `[UNTRANSLATED] Success. Please note that you'll need to resync your inventory, e.g. using the bootstrapper's /sync command, visiting a dojo/relay, or relogging..`,
cheats_instantFinishRivenChallenge: `Débloquer le challenge Riven instantanément`, cheats_instantFinishRivenChallenge: `Débloquer le challenge Riven instantanément`,
cheats_instantResourceExtractorDrones: `Ressources de drones d'extraction instantannées`, cheats_instantResourceExtractorDrones: `Ressources de drones d'extraction instantannées`,
cheats_noResourceExtractorDronesDamage: `Aucun dégâts aux drones d'extraction de resources`, cheats_noResourceExtractorDronesDamage: `Aucun dégâts aux drones d'extraction de resources`,

View File

@ -176,6 +176,7 @@ dict = {
cheats_skipTutorial: `Пропустить обучение`, cheats_skipTutorial: `Пропустить обучение`,
cheats_skipAllDialogue: `Пропустить все диалоги`, cheats_skipAllDialogue: `Пропустить все диалоги`,
cheats_unlockAllScans: `Разблокировать все сканирования`, cheats_unlockAllScans: `Разблокировать все сканирования`,
cheats_unlockSuccRelog: `[UNTRANSLATED] Success. Please that you'll need to relog for the client to refresh this.`,
cheats_unlockAllMissions: `Разблокировать все миссии`, cheats_unlockAllMissions: `Разблокировать все миссии`,
cheats_unlockAllMissions_ok: `Успех. Пожалуйста, обратите внимание, что вам нужно будет войти в Додзё/Реле или перезайти, чтобы клиент обновил звездную карту.`, cheats_unlockAllMissions_ok: `Успех. Пожалуйста, обратите внимание, что вам нужно будет войти в Додзё/Реле или перезайти, чтобы клиент обновил звездную карту.`,
cheats_infiniteCredits: `Бесконечные Кредиты`, cheats_infiniteCredits: `Бесконечные Кредиты`,
@ -212,7 +213,7 @@ dict = {
cheats_baroFullyStocked: `Баро полностью укомплектован`, cheats_baroFullyStocked: `Баро полностью укомплектован`,
cheats_syndicateMissionsRepeatable: `Повторять миссии синдиката`, cheats_syndicateMissionsRepeatable: `Повторять миссии синдиката`,
cheats_unlockAllProfitTakerStages: `Разблокировать все этапы Сферы извлечения прибыли`, cheats_unlockAllProfitTakerStages: `Разблокировать все этапы Сферы извлечения прибыли`,
cheats_unlockSucc: `Успешно разблокировано.`, cheats_unlockSuccInventory: `[UNTRANSLATED] Success. Please note that you'll need to resync your inventory, e.g. using the bootstrapper's /sync command, visiting a dojo/relay, or relogging..`,
cheats_instantFinishRivenChallenge: `Мгновенное завершение испытания мода Разлома`, cheats_instantFinishRivenChallenge: `Мгновенное завершение испытания мода Разлома`,
cheats_instantResourceExtractorDrones: `Мгновенно добывающие Дроны-сборщики`, cheats_instantResourceExtractorDrones: `Мгновенно добывающие Дроны-сборщики`,
cheats_noResourceExtractorDronesDamage: `Без урона по Дронам-сборщикам`, cheats_noResourceExtractorDronesDamage: `Без урона по Дронам-сборщикам`,

View File

@ -176,6 +176,7 @@ dict = {
cheats_skipTutorial: `Пропустити навчання`, cheats_skipTutorial: `Пропустити навчання`,
cheats_skipAllDialogue: `Пропустити всі діалоги`, cheats_skipAllDialogue: `Пропустити всі діалоги`,
cheats_unlockAllScans: `Розблокувати всі сканування`, cheats_unlockAllScans: `Розблокувати всі сканування`,
cheats_unlockSuccRelog: `[UNTRANSLATED] Success. Please that you'll need to relog for the client to refresh this.`,
cheats_unlockAllMissions: `Розблокувати всі місії`, cheats_unlockAllMissions: `Розблокувати всі місії`,
cheats_unlockAllMissions_ok: `Успіх. Будь ласка, зверніть увагу, що вам потрібно буде увійти в Доджьо/Реле або перезайти, щоб клієнт оновив Зоряну мапу.`, cheats_unlockAllMissions_ok: `Успіх. Будь ласка, зверніть увагу, що вам потрібно буде увійти в Доджьо/Реле або перезайти, щоб клієнт оновив Зоряну мапу.`,
cheats_infiniteCredits: `Бескінечні Кредити`, cheats_infiniteCredits: `Бескінечні Кредити`,
@ -212,7 +213,7 @@ dict = {
cheats_baroFullyStocked: `Баро повністю укомплектований`, cheats_baroFullyStocked: `Баро повністю укомплектований`,
cheats_syndicateMissionsRepeatable: `Повторювати місії синдиката`, cheats_syndicateMissionsRepeatable: `Повторювати місії синдиката`,
cheats_unlockAllProfitTakerStages: `Розблокувати всі етапи Привласнювачки`, cheats_unlockAllProfitTakerStages: `Розблокувати всі етапи Привласнювачки`,
cheats_unlockSucc: `Успішно розблоковано.`, cheats_unlockSuccInventory: `[UNTRANSLATED] Success. Please note that you'll need to resync your inventory, e.g. using the bootstrapper's /sync command, visiting a dojo/relay, or relogging..`,
cheats_instantFinishRivenChallenge: `Миттєве завершення випробування модифікатора Розколу`, cheats_instantFinishRivenChallenge: `Миттєве завершення випробування модифікатора Розколу`,
cheats_instantResourceExtractorDrones: `Миттєво добуваючі Дрони-видобувачі`, cheats_instantResourceExtractorDrones: `Миттєво добуваючі Дрони-видобувачі`,
cheats_noResourceExtractorDronesDamage: `Без шкоди по Дронам-видобувачам`, cheats_noResourceExtractorDronesDamage: `Без шкоди по Дронам-видобувачам`,

View File

@ -176,6 +176,7 @@ dict = {
cheats_skipTutorial: `跳过教程`, cheats_skipTutorial: `跳过教程`,
cheats_skipAllDialogue: `跳过所有对话`, cheats_skipAllDialogue: `跳过所有对话`,
cheats_unlockAllScans: `解锁所有扫描`, cheats_unlockAllScans: `解锁所有扫描`,
cheats_unlockSuccRelog: `[UNTRANSLATED] Success. Please that you'll need to relog for the client to refresh this.`,
cheats_unlockAllMissions: `解锁所有星图`, cheats_unlockAllMissions: `解锁所有星图`,
cheats_unlockAllMissions_ok: `操作成功.请注意,您需要进入道场/中继站或重新登录以刷新星图数据.`, cheats_unlockAllMissions_ok: `操作成功.请注意,您需要进入道场/中继站或重新登录以刷新星图数据.`,
cheats_infiniteCredits: `无限现金`, cheats_infiniteCredits: `无限现金`,
@ -212,7 +213,7 @@ dict = {
cheats_baroFullyStocked: `虚空商人贩卖所有商品`, cheats_baroFullyStocked: `虚空商人贩卖所有商品`,
cheats_syndicateMissionsRepeatable: `集团任务可重复完成`, cheats_syndicateMissionsRepeatable: `集团任务可重复完成`,
cheats_unlockAllProfitTakerStages: `解锁利润收割者圆蛛所有阶段`, cheats_unlockAllProfitTakerStages: `解锁利润收割者圆蛛所有阶段`,
cheats_unlockSucc: `[UNTRANSLATED] Successfully unlocked.`, cheats_unlockSuccInventory: `[UNTRANSLATED] Success. Please note that you'll need to resync your inventory, e.g. using the bootstrapper's /sync command, visiting a dojo/relay, or relogging..`,
cheats_instantFinishRivenChallenge: `立即完成裂罅挑战`, cheats_instantFinishRivenChallenge: `立即完成裂罅挑战`,
cheats_instantResourceExtractorDrones: `资源无人机即时完成`, cheats_instantResourceExtractorDrones: `资源无人机即时完成`,
cheats_noResourceExtractorDronesDamage: `资源无人机不会损毁`, cheats_noResourceExtractorDronesDamage: `资源无人机不会损毁`,