From 76a9450b66961cd6fd4fcda9a38b060784786675 Mon Sep 17 00:00:00 2001 From: WarrentyExpired Date: Fri, 28 Aug 2026 16:48:36 -0400 Subject: [PATCH] #W# Commiting Configuration Fiiles. --- .gitignore | 21 +--- Distribution/Configuration/antimacro.json | 66 ++++++++++++ Distribution/Configuration/assistants.json | 33 ++++++ Distribution/Configuration/auto-denylist.json | 5 + Distribution/Configuration/bans.json | 6 ++ Distribution/Configuration/blocklist.json | 8 ++ Distribution/Configuration/crowdsec.json | 9 ++ .../Configuration/email-settings.json | 15 +++ Distribution/Configuration/expansion.json | 79 ++++++++++++++ Distribution/Configuration/firewall.json | 3 + Distribution/Configuration/ip-allowlist.json | 7 ++ .../Configuration/login-allowlist.json | 8 ++ Distribution/Configuration/modernuo.json | 100 ++++++++++++++++++ Distribution/Configuration/throttles.json | 6 ++ Projects/Application/Application.csproj | 20 ++-- Projects/Logger/Logger.csproj | 12 +-- Projects/Server/Server.csproj | 44 ++++---- Projects/UOContent/UOContent.csproj | 52 ++++----- Run.sh | 2 +- publish.sh | 2 +- 20 files changed, 412 insertions(+), 86 deletions(-) create mode 100644 Distribution/Configuration/antimacro.json create mode 100644 Distribution/Configuration/assistants.json create mode 100644 Distribution/Configuration/auto-denylist.json create mode 100644 Distribution/Configuration/bans.json create mode 100644 Distribution/Configuration/blocklist.json create mode 100644 Distribution/Configuration/crowdsec.json create mode 100644 Distribution/Configuration/email-settings.json create mode 100644 Distribution/Configuration/expansion.json create mode 100644 Distribution/Configuration/firewall.json create mode 100644 Distribution/Configuration/ip-allowlist.json create mode 100644 Distribution/Configuration/login-allowlist.json create mode 100644 Distribution/Configuration/modernuo.json create mode 100644 Distribution/Configuration/throttles.json diff --git a/.gitignore b/.gitignore index d5b26e268..025077529 100644 --- a/.gitignore +++ b/.gitignore @@ -7,25 +7,6 @@ /Distribution/Server.* /Distribution/Assemblies /Distribution/bsdtar -/Distribution/Configuration/antimacro.json -/Distribution/Configuration/assistants.json -/Distribution/Configuration/auto-denylist.json -/Distribution/Configuration/bans.json -/Distribution/Configuration/blocklist.json -/Distribution/Configuration/crowdsec.json -/Distribution/Configuration/expansion.json -/Distribution/Configuration/firewall.json -/Distribution/Configuration/ip-allowlist*.txt -/Distribution/Configuration/ip-allowlist*.txt.tmp -/Distribution/Configuration/ip-blocklist.txt -/Distribution/Configuration/ip-blocklist.txt.tmp -/Distribution/Configuration/login-allowlist.json -/Distribution/Configuration/login-allowlist.txt -/Distribution/Configuration/login-allowlist.txt.tmp -/Distribution/Configuration/modernuo.json -/Distribution/Configuration/email-settings.json -/Distribution/Configuration/throttles.json -/Distribution/Configuration/tot.json /Distribution/Data/Pathfinding /Distribution/Logs /Distribution/Archives @@ -42,7 +23,7 @@ /Distribution/nohup.out /Distribution/ref /Distribution/web - +/Distribution/Data/Files /Projects/*/obj /Projects/*/bin /Projects/*/Generated diff --git a/Distribution/Configuration/antimacro.json b/Distribution/Configuration/antimacro.json new file mode 100644 index 000000000..082137204 --- /dev/null +++ b/Distribution/Configuration/antimacro.json @@ -0,0 +1,66 @@ +{ + "Allowance": 3, + "LocationSize": 5, + "Enabled": false, + "Expire": "00:05:00", + "SkillsThatUseAntiMacro": { + "Alchemy": false, + "Anatomy": true, + "AnimalLore": true, + "ItemID": true, + "ArmsLore": true, + "Parry": false, + "Begging": true, + "Blacksmith": false, + "Fletching": false, + "Peacemaking": true, + "Camping": true, + "Carpentry": false, + "Cartography": false, + "Cooking": false, + "DetectHidden": true, + "Discordance": true, + "EvalInt": true, + "Healing": true, + "Fishing": true, + "Forensics": true, + "Herding": true, + "Hiding": true, + "Provocation": true, + "Inscribe": false, + "Lockpicking": true, + "Magery": true, + "MagicResist": true, + "Tactics": false, + "Snooping": true, + "Musicianship": true, + "Poisoning": true, + "Archery": false, + "SpiritSpeak": true, + "Stealing": true, + "Tailoring": false, + "AnimalTaming": true, + "TasteID": true, + "Tinkering": false, + "Tracking": true, + "Veterinary": true, + "Swords": false, + "Macing": false, + "Fencing": false, + "Wrestling": false, + "Lumberjacking": true, + "Mining": true, + "Meditation": true, + "Stealth": true, + "RemoveTrap": true, + "Necromancy": true, + "Focus": false, + "Chivalry": true, + "Bushido": true, + "Ninjitsu": true, + "Spellweaving": true, + "Mysticism": true, + "Imbuing": true, + "Throwing": false + } +} \ No newline at end of file diff --git a/Distribution/Configuration/assistants.json b/Distribution/Configuration/assistants.json new file mode 100644 index 000000000..689864309 --- /dev/null +++ b/Distribution/Configuration/assistants.json @@ -0,0 +1,33 @@ +{ + "warnOnFailure": true, + "kickOnFailure": true, + "disallowedFeatures": { + "FilterWeather": false, + "FilterLight": false, + "SmartTarget": false, + "RangedTarget": false, + "AutoOpenDoors": false, + "DequipOnCast": false, + "AutoPotionEquip": false, + "PoisonedChecks": false, + "LoopedMacros": false, + "UseOnceAgent": false, + "RestockAgent": false, + "SellAgent": false, + "BuyAgent": false, + "PotionHotkeys": false, + "RandomTargets": false, + "ClosestTargets": false, + "OverheadHealth": false, + "AutolootAgent": false, + "BoneCutterAgent": false, + "JScriptMacros": false, + "AutoRemount": false, + "AutoBandage": false, + "EnemyTargetShare": false, + "FilterSeason": false, + "SpellTargetShare": false + }, + "disconnectDelay": "00:00:15", + "warningMessage": "The server was unable to negotiate features with your assistant. You must download and run an updated version of UOSteam or Razor.

Make sure you've checked the option Negotiate features with server, once you have this box checked you may log in and play normally.

You will be disconnected shortly." +} \ No newline at end of file diff --git a/Distribution/Configuration/auto-denylist.json b/Distribution/Configuration/auto-denylist.json new file mode 100644 index 000000000..9ba21f04a --- /dev/null +++ b/Distribution/Configuration/auto-denylist.json @@ -0,0 +1,5 @@ +{ + "enabled": true, + "duration": "00:15:00", + "maxEntries": 324449 +} \ No newline at end of file diff --git a/Distribution/Configuration/bans.json b/Distribution/Configuration/bans.json new file mode 100644 index 000000000..ec0c1c330 --- /dev/null +++ b/Distribution/Configuration/bans.json @@ -0,0 +1,6 @@ +{ + "reportRateLimitTrips": true, + "autoBanDuration": "04:00:00", + "reportBadConnects": true, + "badConnectDuration": "04:00:00" +} \ No newline at end of file diff --git a/Distribution/Configuration/blocklist.json b/Distribution/Configuration/blocklist.json new file mode 100644 index 000000000..fdb20c0a5 --- /dev/null +++ b/Distribution/Configuration/blocklist.json @@ -0,0 +1,8 @@ +{ + "enabled": false, + "file": "Configuration/ip-blocklist.txt", + "reloadInterval": "00:01:00", + "reportHits": true, + "banDuration": "06:00:00", + "promoteSuppression": "00:01:00" +} \ No newline at end of file diff --git a/Distribution/Configuration/crowdsec.json b/Distribution/Configuration/crowdsec.json new file mode 100644 index 000000000..e0a77fe6d --- /dev/null +++ b/Distribution/Configuration/crowdsec.json @@ -0,0 +1,9 @@ +{ + "lapiUrl": "http://127.0.0.1:8080", + "machineId": "", + "password": "", + "origin": "modernuo", + "manualBanDuration": "7.00:00:00", + "flushInterval": "00:00:01", + "maxQueue": 10000 +} \ No newline at end of file diff --git a/Distribution/Configuration/email-settings.json b/Distribution/Configuration/email-settings.json new file mode 100644 index 000000000..ee04379aa --- /dev/null +++ b/Distribution/Configuration/email-settings.json @@ -0,0 +1,15 @@ +{ + "enabled": false, + "fromAddress": "support@modernuo.com", + "fromName": "ModernUO Team", + "crashAddress": "crashes@modernuo.com", + "crashName": "Crash Log", + "speechLogPageAddress": "support@modernuo.com", + "speechLogPageName": "GM Support Conversation", + "emailServer": "smtp.gmail.com", + "emailPort": 465, + "emailUsername": "support@modernuo.com", + "emailPassword": "Some Password 123", + "emailSendRetryCount": 5, + "emailSendRetryDelay": 3 +} \ No newline at end of file diff --git a/Distribution/Configuration/expansion.json b/Distribution/Configuration/expansion.json new file mode 100644 index 000000000..4ddbdb733 --- /dev/null +++ b/Distribution/Configuration/expansion.json @@ -0,0 +1,79 @@ +{ + "Id": 5, + "Name": "Age of Shadows", + "ClientFlags": "Malas", + "SupportedFeatures": { + "ExpansionT2A": true, + "T2A": true, + "UOR": true, + "UOTD": false, + "LBR": true, + "AOS": true, + "SixthCharacterSlot": false, + "SE": false, + "ML": false, + "EighthAge": false, + "NinthAge": false, + "TenthAge": false, + "IncreasedStorage": false, + "SeventhCharacterSlot": false, + "RoleplayFaces": false, + "TrialAccount": false, + "LiveAccount": true, + "SA": false, + "HS": false, + "Gothic": false, + "Rustic": false, + "Jungle": false, + "Shadowguard": false, + "TOL": false, + "EJ": false + }, + "CharacterListFlags": { + "Unk1": false, + "OverwriteConfigButton": false, + "OneCharacterSlot": false, + "ExpansionNone": true, + "ExpansionUOTD": true, + "ExpansionLBR": true, + "ExpansionT2A": true, + "ExpansionUOR": true, + "ContextMenus": true, + "SlotLimit": false, + "AOS": true, + "SixthCharacterSlot": false, + "SE": false, + "ML": false, + "KR": false, + "UO3DClientType": false, + "Unk3": false, + "SeventhCharacterSlot": false, + "Unk4": false, + "NewMovementSystem": false, + "NewFeluccaAreas": false + }, + "HousingFlags": { + "AOS": true, + "HousingAOS": true, + "SE": false, + "ML": false, + "Crystal": false, + "SA": false, + "HS": false, + "Gothic": false, + "Rustic": false, + "Jungle": false, + "Shadowguard": false, + "TOL": false, + "EJ": false + }, + "MobileStatusVersion": 6, + "MapSelectionFlags": { + "Felucca": true, + "Trammel": true, + "Ilshenar": true, + "Malas": true, + "Tokuno": false, + "TerMur": false + } +} \ No newline at end of file diff --git a/Distribution/Configuration/firewall.json b/Distribution/Configuration/firewall.json new file mode 100644 index 000000000..c43cb320f --- /dev/null +++ b/Distribution/Configuration/firewall.json @@ -0,0 +1,3 @@ +{ + "entries": [] +} \ No newline at end of file diff --git a/Distribution/Configuration/ip-allowlist.json b/Distribution/Configuration/ip-allowlist.json new file mode 100644 index 000000000..b588dbca1 --- /dev/null +++ b/Distribution/Configuration/ip-allowlist.json @@ -0,0 +1,7 @@ +{ + "enabled": false, + "files": [ + "Configuration/ip-allowlist*.txt" + ], + "reloadInterval": "00:01:00" +} \ No newline at end of file diff --git a/Distribution/Configuration/login-allowlist.json b/Distribution/Configuration/login-allowlist.json new file mode 100644 index 000000000..be8521524 --- /dev/null +++ b/Distribution/Configuration/login-allowlist.json @@ -0,0 +1,8 @@ +{ + "enabled": true, + "file": "Configuration/login-allowlist.txt", + "ttl": "90.00:00:00", + "flushInterval": "01:00:00", + "escalateAfterStrikes": 10, + "strikeWindow": "01:00:00" +} \ No newline at end of file diff --git a/Distribution/Configuration/modernuo.json b/Distribution/Configuration/modernuo.json new file mode 100644 index 000000000..ef7588a1c --- /dev/null +++ b/Distribution/Configuration/modernuo.json @@ -0,0 +1,100 @@ +{ + "assemblyDirectories": [ + "./Assemblies" + ], + "dataDirectories": [ + "Data/Files" + ], + "listeners": [ + "0.0.0.0:2593" + ], + "settings": { + "accountHandler.enableAutoAccountCreation": "True", + "accountHandler.enablePlayerPasswordCommand": "False", + "accountHandler.maxAccountsPerIP": "1", + "accountSecurity.encryptionAlgorithm": "Argon2", + "assistants.enableNegotiation": "False", + "autoArchive.archiveLocally": "True", + "autoArchive.archivePath": "Archives", + "autoArchive.backupMaxAge": "30", + "autoArchive.backupPath": "Backups", + "autoArchive.compressionLevel": "3", + "autoArchive.dailyRetention": "30", + "autoArchive.enableArchivePruning": "True", + "autoArchive.hourlyRetention": "24", + "autoArchive.monthlyRetention": "12", + "autoArchive.retryCount": "3", + "autoArchive.retryDelayMs": "500", + "autoArchive.verifyArchives": "True", + "autosave.enabled": "True", + "autosave.saveDelay": "00:05:00", + "autosave.warningDelay": "00:00:00", + "buffIcons.enable": "False", + "bulletinboards.creationTimeDelay": "00:02:00", + "bulletinboards.expireDuration": "06:00:00", + "bulletinboards.replyDelay": "00:00:30", + "chat.enabled": "False", + "clientVerification.ageLeniency": "10.00:00:00", + "clientVerification.enable": "True", + "clientVerification.gameTimeLeniency": "1.01:00:00", + "clientVerification.invalidClientResponse": "Kick", + "clientVerification.kickDelay": "00:00:20", + "commandsystem.prefix": "[", + "crashGuard.enabled": "True", + "crashGuard.generateReport": "True", + "crashGuard.restartServer": "True", + "crashGuard.saveBackup": "True", + "ethics.enable": "False", + "houseDecay.enable": "True", + "movement.delay.runFoot": "200", + "movement.delay.runMount": "100", + "movement.delay.turn": "0", + "movement.delay.walkFoot": "400", + "movement.delay.walkMount": "200", + "movementThrottle.debugLogging": "False", + "movementThrottle.definiteRateThreshold": "1.100000023841858", + "movementThrottle.hardQueueLimit": "10", + "movementThrottle.maxCredit": "200", + "movementThrottle.minSamplesForRate": "8", + "movementThrottle.movementHistorySize": "20", + "movementThrottle.suspiciousRateThreshold": "1.0499999523162842", + "murderSystem.bountiesEnabled": "False", + "murderSystem.bountyExpiry": "14.00:00:00", + "murderSystem.longTermMurderDuration": "1.16:00:00", + "murderSystem.recentlyReportedDelay": "00:10:00", + "murderSystem.shortTermMurderDuration": "08:00:00", + "network.maxOutstandingSends": "32", + "network.sendBufferSize": "262144", + "pages.discordWebhookUrl": null, + "pathfinding.enable": "True", + "pathfinding.maxResidentChunks": "8192", + "pathfinding.maxSearchNodes": "1000", + "pathfinding.prebakeMaps": "False", + "pathfinding.recorder.enable": "False", + "pathfinding.recorder.path": "/mnt/fileStorage/Projects/ModernUO/Server/Distribution/Data/Pathfinding/recordings/pathfinds.jsonl", + "pingServer.enabled": "True", + "questSystem.enableMLQuests": "False", + "serverListing.address": null, + "serverListing.autoDetect": "True", + "serverListing.serverName": "ModernUO", + "stamina.additionalLossWhenBelow": "0.1", + "stamina.baseOverweightLoss": "5", + "stamina.cannotRunWhenFatigued": "False", + "stamina.cannotWalkWhenFatigued": "False", + "stamina.enableMountStamina": "True", + "stamina.stonesOverweightAllowance": "4", + "stamina.stonesPerOverweightLoss": "25", + "stats.gainChanceMultiplier": "1", + "stats.statMax": "125", + "testCenter.enable": "False", + "timer.initialPoolCapacity": "1024", + "timer.maxPoolCapacity": "16384", + "uogateway.enabled": "True", + "vetRewards.enable": "True", + "vetRewards.rewardInterval": "30.00:00:00", + "vetRewards.skillCapRewards": "True", + "world.enableAutoRestart": "False", + "world.savePath": "Saves", + "world.useMultithreadedSaves": "True" + } +} \ No newline at end of file diff --git a/Distribution/Configuration/throttles.json b/Distribution/Configuration/throttles.json new file mode 100644 index 000000000..ee8fa7be3 --- /dev/null +++ b/Distribution/Configuration/throttles.json @@ -0,0 +1,6 @@ +{ + "0x03": 25, + "0x12": 25, + "0x75": 500, + "0xAD": 25 +} \ No newline at end of file diff --git a/Projects/Application/Application.csproj b/Projects/Application/Application.csproj index 7047e2548..1a162645c 100644 --- a/Projects/Application/Application.csproj +++ b/Projects/Application/Application.csproj @@ -1,4 +1,4 @@ - + Exe MUO.ico @@ -6,21 +6,21 @@ ModernUO ModernUO Server - ..\..\..\Distribution + ..\..\Distribution 0.0.0 Debug;Release;Analyze Server - - - - - - - - + + + + + + + + diff --git a/Projects/Logger/Logger.csproj b/Projects/Logger/Logger.csproj index 1284358c1..6011e8299 100644 --- a/Projects/Logger/Logger.csproj +++ b/Projects/Logger/Logger.csproj @@ -1,10 +1,10 @@ - + Server Logger ModernUO Logger - ..\..\..\Distribution\Assemblies - ..\..\..\Distribution\Assemblies + ..\..\Distribution\Assemblies + ..\..\Distribution\Assemblies Debug;Release;Analyze @@ -12,8 +12,8 @@ - - - + + + diff --git a/Projects/Server/Server.csproj b/Projects/Server/Server.csproj index f54f8ee05..fd69557b7 100644 --- a/Projects/Server/Server.csproj +++ b/Projects/Server/Server.csproj @@ -2,8 +2,8 @@ ModernUO Core - ..\..\..\Distribution - ..\..\..\Distribution + ..\..\Distribution + ..\..\Distribution 0.0.0 Debug;Release;Analyze Server @@ -11,26 +11,26 @@ - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + diff --git a/Projects/UOContent/UOContent.csproj b/Projects/UOContent/UOContent.csproj index 1305c2d87..60f28ac6f 100644 --- a/Projects/UOContent/UOContent.csproj +++ b/Projects/UOContent/UOContent.csproj @@ -4,36 +4,36 @@ Server UOContent ModernUO Content - ..\..\..\Distribution\Assemblies - ..\..\..\Distribution\Assemblies + ..\..\Distribution\Assemblies + ..\..\Distribution\Assemblies Debug;Release;Analyze - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Run.sh b/Run.sh index a6351960c..b35f9425a 100755 --- a/Run.sh +++ b/Run.sh @@ -1,2 +1,2 @@ echo "Starting Server...." -dotnet ../Distribution/ModernUO.dll +dotnet ./Distribution/ModernUO.dll diff --git a/publish.sh b/publish.sh index 30d80c4f2..141f02b58 100755 --- a/publish.sh +++ b/publish.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash set -e REPO_ROOT="$(cd "$(dirname "$0")" && pwd)"