Enforce 16-char player name limit and update mod sync

Added a maxlength attribute to the player name input and enforced a 16-character limit in both install and settings scripts, providing user feedback if exceeded. Refactored modManager.js to replace symlink-based mod management with a copy-based system, copying enabled mods to HytaleSaves\Mods and removing legacy symlink logic to improve compatibility and avoid permission issues.
This commit is contained in:
AMIAY
2026-01-29 03:33:56 +01:00
parent 90db069e4c
commit 4775e9adbd
4 changed files with 70 additions and 90 deletions

View File

@@ -45,9 +45,17 @@ export function setupInstallation() {
export async function installGame() {
if (isDownloading || (installBtn && installBtn.disabled)) return;
const playerName = (installPlayerName ? installPlayerName.value.trim() : '') || 'Player';
let playerName = (installPlayerName ? installPlayerName.value.trim() : '') || 'Player';
const installPath = installPathInput ? installPathInput.value.trim() : '';
// Limit player name to 16 characters
if (playerName.length > 16) {
playerName = playerName.substring(0, 16);
if (installPlayerName) {
installPlayerName.value = playerName;
}
}
const selectedBranchRadio = document.querySelector('input[name="installBranch"]:checked');
const selectedBranch = selectedBranchRadio ? selectedBranchRadio.value : 'release';
@@ -194,7 +202,16 @@ export async function browseInstallPath() {
async function savePlayerName() {
try {
if (window.electronAPI && window.electronAPI.saveSettings) {
const playerName = (installPlayerName ? installPlayerName.value.trim() : '') || 'Player';
let playerName = (installPlayerName ? installPlayerName.value.trim() : '') || 'Player';
// Limit player name to 16 characters
if (playerName.length > 16) {
playerName = playerName.substring(0, 16);
if (installPlayerName) {
installPlayerName.value = playerName;
}
}
await window.electronAPI.saveSettings({ playerName });
}
} catch (error) {