├── .gitignore ├── packages ├── Fody.6.0.0 │ ├── .signature.p7s │ ├── Fody.6.0.0.nupkg │ ├── netclassictask │ │ ├── Fody.dll │ │ ├── FodyCommon.dll │ │ ├── FodyHelpers.dll │ │ ├── Mono.Cecil.dll │ │ ├── Mono.Cecil.pdb │ │ ├── FodyIsolated.dll │ │ ├── Mono.Cecil.Pdb.dll │ │ ├── Mono.Cecil.Pdb.pdb │ │ ├── Mono.Cecil.Rocks.dll │ │ └── Mono.Cecil.Rocks.pdb │ └── netstandardtask │ │ ├── Fody.dll │ │ ├── FodyCommon.dll │ │ ├── Mono.Cecil.dll │ │ ├── Mono.Cecil.pdb │ │ ├── FodyHelpers.dll │ │ ├── FodyIsolated.dll │ │ ├── Mono.Cecil.Pdb.dll │ │ ├── Mono.Cecil.Pdb.pdb │ │ ├── Mono.Cecil.Rocks.dll │ │ └── Mono.Cecil.Rocks.pdb ├── Costura.Fody.4.1.0 │ ├── .signature.p7s │ ├── lib │ │ └── net40 │ │ │ ├── Costura.dll │ │ │ └── Costura.xml │ ├── Costura.Fody.4.1.0.nupkg │ ├── weaver │ │ └── Costura.Fody.dll │ └── build │ │ └── Costura.Fody.props ├── Lib.Harmony.2.2.2 │ ├── .signature.p7s │ ├── HarmonyLogo.png │ ├── Lib.Harmony.2.2.2.nupkg │ ├── lib │ │ ├── net35 │ │ │ └── 0Harmony.dll │ │ ├── net45 │ │ │ └── 0Harmony.dll │ │ ├── net472 │ │ │ └── 0Harmony.dll │ │ ├── net48 │ │ │ └── 0Harmony.dll │ │ ├── net5.0 │ │ │ └── 0Harmony.dll │ │ ├── net6.0 │ │ │ └── 0Harmony.dll │ │ ├── netcoreapp3.0 │ │ │ └── 0Harmony.dll │ │ └── netcoreapp3.1 │ │ │ └── 0Harmony.dll │ └── LICENSE └── SharpZipLib.1.3.3 │ ├── .signature.p7s │ ├── SharpZipLib.1.3.3.nupkg │ ├── images │ └── sharpziplib-nuget-256x256.png │ └── lib │ ├── net45 │ ├── ICSharpCode.SharpZipLib.dll │ └── ICSharpCode.SharpZipLib.pdb │ ├── netstandard2.0 │ ├── ICSharpCode.SharpZipLib.dll │ └── ICSharpCode.SharpZipLib.pdb │ └── netstandard2.1 │ ├── ICSharpCode.SharpZipLib.dll │ └── ICSharpCode.SharpZipLib.pdb ├── ServerTools ├── obj │ ├── Debug │ │ ├── ServerTools.dll │ │ ├── ServerTools.Properties.Resources.resources │ │ ├── ServerTools.csproj.GenerateResource.Cache │ │ ├── TempPE │ │ │ └── Properties.Resources.Designer.cs.dll │ │ └── DesignTimeResolveAssemblyReferencesInput.cache │ └── Release │ │ ├── ServerTools.dll │ │ ├── ServerTools.csproj.GenerateResource.Cache │ │ ├── ServerTools.Properties.Resources.resources │ │ ├── TempPE │ │ └── Properties.Resources.Designer.cs.dll │ │ ├── DesignTimeResolveAssemblyReferencesInput.cache │ │ └── ServerTools.csprojResolveAssemblyReference.cache ├── FodyWeavers.xml ├── src │ ├── Tools │ │ ├── StopServer │ │ │ └── StopServer.cs │ │ ├── SleeperRespawn │ │ │ └── SleeperRespawn.cs │ │ ├── WorkstationLock │ │ │ └── WorkstationLock.cs │ │ ├── FallingBlocks │ │ │ └── FallingBlocks.cs │ │ ├── WebPanel │ │ │ └── WebPanel.cs │ │ ├── NewPlayerProtection │ │ │ └── NewPlayerProtection.cs │ │ ├── NewPlayer │ │ │ └── NewPlayer.cs │ │ ├── Confetti │ │ │ └── Confetti.cs │ │ ├── Session │ │ │ └── Session.cs │ │ ├── POIProtection │ │ │ └── POIProtection.cs │ │ ├── AdminChat │ │ │ └── AdminChat.cs │ │ ├── FPS │ │ │ └── Fps.cs │ │ ├── PlayerList │ │ │ └── PlayerList.cs │ │ ├── DroppedBagProtection │ │ │ └── DroppedBagProtection.cs │ │ ├── BigHead │ │ │ └── BigHead.cs │ │ ├── Location │ │ │ └── Loc.cs │ │ ├── ConsoleCommandLog │ │ │ └── Console_Command_Log.cs │ │ ├── FirstClaimBlock │ │ │ └── FirstClaimBlock.cs │ │ ├── OversizedTraps │ │ │ └── OversizedTraps.cs │ │ ├── BlockPickup │ │ │ └── BlockPickup.cs │ │ └── AutoRestart │ │ │ └── AutoRestart.cs │ ├── Chat │ │ ├── ChatLog │ │ │ └── ChatLog.cs │ │ └── ChatCommandLog │ │ │ └── ChatCommandLog.cs │ ├── Serialize │ │ └── ItemStackSerializable.cs │ ├── PersistentData │ │ └── PersistentPlayers.cs │ ├── ConsoleCommands │ │ ├── TestConsole.cs │ │ ├── DeletePlayerDataConsole.cs │ │ ├── MaxPingConsole.cs │ │ ├── LogConsole.cs │ │ ├── PhraseResetConsole.cs │ │ ├── @AdminConsole.cs │ │ ├── TraderListConsole.cs │ │ ├── RemoveZombieAnimalConsole.cs │ │ ├── ClientConsoleCommandConsole.cs │ │ ├── NextShutdownConsole.cs │ │ ├── RemoveEntityConsole.cs │ │ ├── GiveExpConsole.cs │ │ ├── RemoveBedrolls.cs │ │ ├── SetDeaths.cs │ │ ├── SetPlayerKillsConsole.cs │ │ ├── SetZombieKillsConsole.cs │ │ ├── SecureVehicleAccessConsole.cs │ │ ├── RemoveItemAdminConsole.cs │ │ ├── StuckConsole.cs │ │ ├── MotdConsole.cs │ │ ├── ReportConsole.cs │ │ ├── TravelConsole.cs │ │ ├── BloodmoonConsole.cs │ │ ├── PrayerConsole.cs │ │ ├── HordesConsole.cs │ │ ├── DiedConsole.cs │ │ ├── LotteryConsole.cs │ │ ├── ChatLoggerConsole.cs │ │ ├── RunGameEventConsole.cs │ │ ├── SuicideConsole.cs │ │ ├── DupeLogConsole.cs │ │ ├── LocationConsole.cs │ │ ├── MuteVoteConsole.cs │ │ ├── InfoTickerConsole.cs │ │ ├── NewPlayerConsole.cs │ │ ├── KickVoteConsole.cs │ │ ├── FlyingConsole.cs │ │ ├── KillNoticeConsole.cs │ │ ├── RemoveItemDukesConsole.cs │ │ ├── AdminListConsole.cs │ │ └── NightAlertConsole.cs │ └── AntiCheat │ │ ├── No_Vehicle_Drone │ │ └── NoVehicleDrone.cs │ │ ├── GodMode │ │ └── GodMode.cs │ │ └── MagicBullet │ │ └── MagicBullet.cs ├── ServerTools.csproj.user ├── packages.config ├── ModInfo.xml ├── app.config └── Properties │ ├── AssemblyInfo.cs │ └── Resources.Designer.cs ├── bin └── Mods │ └── ServerTools │ ├── ServerTools.dll │ ├── WebAPI │ ├── Img │ │ ├── Die1.png │ │ ├── Die2.png │ │ ├── Die3.png │ │ ├── Die4.png │ │ ├── Die5.png │ │ ├── Die6.png │ │ ├── Logo.png │ │ ├── Roll.png │ │ ├── Wild.png │ │ ├── Blank.png │ │ ├── Lock.webp │ │ ├── Super7.png │ │ ├── XIcon.png │ │ ├── BlueUser.png │ │ ├── FourFives.png │ │ ├── FourFours.png │ │ ├── FourOnes.png │ │ ├── FourSixes.png │ │ ├── FourTwos.png │ │ ├── FullHouse.png │ │ ├── GreenUser.png │ │ ├── Lucky11.png │ │ ├── RIOLogo.png │ │ ├── RedUser.png │ │ ├── STLogo.webp │ │ ├── Straight.png │ │ ├── ThreeOnes.png │ │ ├── ThreeTwos.png │ │ ├── TwoFives.png │ │ ├── TwoFours.png │ │ ├── TwoOnes.png │ │ ├── TwoSixes.png │ │ ├── TwoThrees.png │ │ ├── TwoTwos.png │ │ ├── UserIcon.webp │ │ ├── BlueBalloon.png │ │ ├── FourThrees.png │ │ ├── RedBalloon.png │ │ ├── ThreeFives.png │ │ ├── ThreeFours.png │ │ ├── ThreeSixes.png │ │ ├── ThreeThrees.png │ │ ├── WalkingIcon.png │ │ ├── YellowUser.png │ │ ├── ZombieDevs.webp │ │ ├── BloodBorder.webp │ │ ├── GreenBalloon.png │ │ ├── SleepingIcon.png │ │ ├── TwoTwosTwoOnes.png │ │ ├── YellowBalloon.png │ │ ├── TwoFivesTwoFours.png │ │ ├── TwoFivesTwoOnes.png │ │ ├── TwoFivesTwoTwos.png │ │ ├── TwoFoursTwoOnes.png │ │ ├── TwoFoursTwoTwos.png │ │ ├── TwoSixesTwoFives.png │ │ ├── TwoSixesTwoFours.png │ │ ├── TwoSixesTwoOnes.png │ │ ├── TwoSixesTwoTwos.png │ │ ├── TwoThreesTwoOnes.png │ │ ├── TwoThreesTwoTwos.png │ │ ├── TwoFivesTwoThrees.png │ │ ├── TwoFoursTwoThrees.png │ │ └── TwoSixesTwoThrees.png │ ├── favicon.ico │ ├── Audio │ │ ├── join.mp3 │ │ ├── lost.mp3 │ │ ├── turn.mp3 │ │ ├── win.mp3 │ │ ├── claim.mp3 │ │ ├── leave.mp3 │ │ ├── roll1.mp3 │ │ ├── roll2.mp3 │ │ ├── roll3.mp3 │ │ ├── roll4.mp3 │ │ ├── singleRoll1.mp3 │ │ └── singleRoll2.mp3 │ ├── Font │ │ ├── 7DaysLater.ttf │ │ ├── 7DaysLater.woff2 │ │ ├── MorganChalk.ttf │ │ └── MorganChalk.woff │ ├── JS │ │ ├── pad-pkcs7.js │ │ ├── evpkdf-min.js │ │ └── lib-typedarrays.js │ ├── shop.html │ ├── CSS │ │ └── auctionstyles.css │ ├── auction.html │ └── imap.html │ └── ModInfo.xml ├── .gitattributes ├── 7dtd-binaries └── README.txt └── ServerTools.sln /.gitignore: -------------------------------------------------------------------------------- 1 | /bin/Mods/ServerTools/x64 2 | /bin/Mods/ServerTools/x86 3 | /ServerTools/obj/Debug 4 | /ServerTools/obj/Release 5 | 6 | -------------------------------------------------------------------------------- /packages/Fody.6.0.0/.signature.p7s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/Fody.6.0.0/.signature.p7s -------------------------------------------------------------------------------- /ServerTools/obj/Debug/ServerTools.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/ServerTools/obj/Debug/ServerTools.dll -------------------------------------------------------------------------------- /bin/Mods/ServerTools/ServerTools.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/ServerTools.dll -------------------------------------------------------------------------------- /packages/Fody.6.0.0/Fody.6.0.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/Fody.6.0.0/Fody.6.0.0.nupkg -------------------------------------------------------------------------------- /ServerTools/obj/Release/ServerTools.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/ServerTools/obj/Release/ServerTools.dll -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/Die1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/Die1.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/Die2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/Die2.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/Die3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/Die3.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/Die4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/Die4.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/Die5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/Die5.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/Die6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/Die6.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/Logo.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/Roll.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/Roll.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/Wild.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/Wild.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/favicon.ico -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Audio/join.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Audio/join.mp3 -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Audio/lost.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Audio/lost.mp3 -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Audio/turn.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Audio/turn.mp3 -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Audio/win.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Audio/win.mp3 -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/Blank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/Blank.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/Lock.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/Lock.webp -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/Super7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/Super7.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/XIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/XIcon.png -------------------------------------------------------------------------------- /packages/Costura.Fody.4.1.0/.signature.p7s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/Costura.Fody.4.1.0/.signature.p7s -------------------------------------------------------------------------------- /packages/Lib.Harmony.2.2.2/.signature.p7s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/Lib.Harmony.2.2.2/.signature.p7s -------------------------------------------------------------------------------- /packages/Lib.Harmony.2.2.2/HarmonyLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/Lib.Harmony.2.2.2/HarmonyLogo.png -------------------------------------------------------------------------------- /packages/SharpZipLib.1.3.3/.signature.p7s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/SharpZipLib.1.3.3/.signature.p7s -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Audio/claim.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Audio/claim.mp3 -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Audio/leave.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Audio/leave.mp3 -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Audio/roll1.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Audio/roll1.mp3 -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Audio/roll2.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Audio/roll2.mp3 -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Audio/roll3.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Audio/roll3.mp3 -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Audio/roll4.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Audio/roll4.mp3 -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/BlueUser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/BlueUser.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/FourFives.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/FourFives.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/FourFours.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/FourFours.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/FourOnes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/FourOnes.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/FourSixes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/FourSixes.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/FourTwos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/FourTwos.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/FullHouse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/FullHouse.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/GreenUser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/GreenUser.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/Lucky11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/Lucky11.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/RIOLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/RIOLogo.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/RedUser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/RedUser.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/STLogo.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/STLogo.webp -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/Straight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/Straight.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/ThreeOnes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/ThreeOnes.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/ThreeTwos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/ThreeTwos.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/TwoFives.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/TwoFives.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/TwoFours.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/TwoFours.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/TwoOnes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/TwoOnes.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/TwoSixes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/TwoSixes.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/TwoThrees.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/TwoThrees.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/TwoTwos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/TwoTwos.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/UserIcon.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/UserIcon.webp -------------------------------------------------------------------------------- /packages/Fody.6.0.0/netclassictask/Fody.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/Fody.6.0.0/netclassictask/Fody.dll -------------------------------------------------------------------------------- /packages/Fody.6.0.0/netstandardtask/Fody.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/Fody.6.0.0/netstandardtask/Fody.dll -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Font/7DaysLater.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Font/7DaysLater.ttf -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/BlueBalloon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/BlueBalloon.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/FourThrees.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/FourThrees.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/RedBalloon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/RedBalloon.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/ThreeFives.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/ThreeFives.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/ThreeFours.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/ThreeFours.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/ThreeSixes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/ThreeSixes.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/ThreeThrees.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/ThreeThrees.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/WalkingIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/WalkingIcon.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/YellowUser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/YellowUser.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/ZombieDevs.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/ZombieDevs.webp -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Audio/singleRoll1.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Audio/singleRoll1.mp3 -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Audio/singleRoll2.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Audio/singleRoll2.mp3 -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Font/7DaysLater.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Font/7DaysLater.woff2 -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Font/MorganChalk.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Font/MorganChalk.ttf -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Font/MorganChalk.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Font/MorganChalk.woff -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/BloodBorder.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/BloodBorder.webp -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/GreenBalloon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/GreenBalloon.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/SleepingIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/SleepingIcon.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/TwoTwosTwoOnes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/TwoTwosTwoOnes.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/YellowBalloon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/YellowBalloon.png -------------------------------------------------------------------------------- /packages/Costura.Fody.4.1.0/lib/net40/Costura.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/Costura.Fody.4.1.0/lib/net40/Costura.dll -------------------------------------------------------------------------------- /packages/Fody.6.0.0/netclassictask/FodyCommon.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/Fody.6.0.0/netclassictask/FodyCommon.dll -------------------------------------------------------------------------------- /packages/Fody.6.0.0/netclassictask/FodyHelpers.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/Fody.6.0.0/netclassictask/FodyHelpers.dll -------------------------------------------------------------------------------- /packages/Fody.6.0.0/netclassictask/Mono.Cecil.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/Fody.6.0.0/netclassictask/Mono.Cecil.dll -------------------------------------------------------------------------------- /packages/Fody.6.0.0/netclassictask/Mono.Cecil.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/Fody.6.0.0/netclassictask/Mono.Cecil.pdb -------------------------------------------------------------------------------- /packages/Fody.6.0.0/netstandardtask/FodyCommon.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/Fody.6.0.0/netstandardtask/FodyCommon.dll -------------------------------------------------------------------------------- /packages/Fody.6.0.0/netstandardtask/Mono.Cecil.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/Fody.6.0.0/netstandardtask/Mono.Cecil.dll -------------------------------------------------------------------------------- /packages/Fody.6.0.0/netstandardtask/Mono.Cecil.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/Fody.6.0.0/netstandardtask/Mono.Cecil.pdb -------------------------------------------------------------------------------- /packages/Lib.Harmony.2.2.2/Lib.Harmony.2.2.2.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/Lib.Harmony.2.2.2/Lib.Harmony.2.2.2.nupkg -------------------------------------------------------------------------------- /packages/Lib.Harmony.2.2.2/lib/net35/0Harmony.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/Lib.Harmony.2.2.2/lib/net35/0Harmony.dll -------------------------------------------------------------------------------- /packages/Lib.Harmony.2.2.2/lib/net45/0Harmony.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/Lib.Harmony.2.2.2/lib/net45/0Harmony.dll -------------------------------------------------------------------------------- /packages/Lib.Harmony.2.2.2/lib/net472/0Harmony.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/Lib.Harmony.2.2.2/lib/net472/0Harmony.dll -------------------------------------------------------------------------------- /packages/Lib.Harmony.2.2.2/lib/net48/0Harmony.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/Lib.Harmony.2.2.2/lib/net48/0Harmony.dll -------------------------------------------------------------------------------- /packages/Lib.Harmony.2.2.2/lib/net5.0/0Harmony.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/Lib.Harmony.2.2.2/lib/net5.0/0Harmony.dll -------------------------------------------------------------------------------- /packages/Lib.Harmony.2.2.2/lib/net6.0/0Harmony.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/Lib.Harmony.2.2.2/lib/net6.0/0Harmony.dll -------------------------------------------------------------------------------- /packages/SharpZipLib.1.3.3/SharpZipLib.1.3.3.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/SharpZipLib.1.3.3/SharpZipLib.1.3.3.nupkg -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/TwoFivesTwoFours.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/TwoFivesTwoFours.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/TwoFivesTwoOnes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/TwoFivesTwoOnes.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/TwoFivesTwoTwos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/TwoFivesTwoTwos.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/TwoFoursTwoOnes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/TwoFoursTwoOnes.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/TwoFoursTwoTwos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/TwoFoursTwoTwos.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/TwoSixesTwoFives.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/TwoSixesTwoFives.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/TwoSixesTwoFours.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/TwoSixesTwoFours.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/TwoSixesTwoOnes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/TwoSixesTwoOnes.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/TwoSixesTwoTwos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/TwoSixesTwoTwos.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/TwoThreesTwoOnes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/TwoThreesTwoOnes.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/TwoThreesTwoTwos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/TwoThreesTwoTwos.png -------------------------------------------------------------------------------- /packages/Costura.Fody.4.1.0/Costura.Fody.4.1.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/Costura.Fody.4.1.0/Costura.Fody.4.1.0.nupkg -------------------------------------------------------------------------------- /packages/Costura.Fody.4.1.0/weaver/Costura.Fody.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/Costura.Fody.4.1.0/weaver/Costura.Fody.dll -------------------------------------------------------------------------------- /packages/Fody.6.0.0/netclassictask/FodyIsolated.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/Fody.6.0.0/netclassictask/FodyIsolated.dll -------------------------------------------------------------------------------- /packages/Fody.6.0.0/netstandardtask/FodyHelpers.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/Fody.6.0.0/netstandardtask/FodyHelpers.dll -------------------------------------------------------------------------------- /packages/Fody.6.0.0/netstandardtask/FodyIsolated.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/Fody.6.0.0/netstandardtask/FodyIsolated.dll -------------------------------------------------------------------------------- /ServerTools/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/TwoFivesTwoThrees.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/TwoFivesTwoThrees.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/TwoFoursTwoThrees.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/TwoFoursTwoThrees.png -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/Img/TwoSixesTwoThrees.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/bin/Mods/ServerTools/WebAPI/Img/TwoSixesTwoThrees.png -------------------------------------------------------------------------------- /packages/Fody.6.0.0/netclassictask/Mono.Cecil.Pdb.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/Fody.6.0.0/netclassictask/Mono.Cecil.Pdb.dll -------------------------------------------------------------------------------- /packages/Fody.6.0.0/netclassictask/Mono.Cecil.Pdb.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/Fody.6.0.0/netclassictask/Mono.Cecil.Pdb.pdb -------------------------------------------------------------------------------- /packages/Fody.6.0.0/netclassictask/Mono.Cecil.Rocks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/Fody.6.0.0/netclassictask/Mono.Cecil.Rocks.dll -------------------------------------------------------------------------------- /packages/Fody.6.0.0/netclassictask/Mono.Cecil.Rocks.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/Fody.6.0.0/netclassictask/Mono.Cecil.Rocks.pdb -------------------------------------------------------------------------------- /packages/Fody.6.0.0/netstandardtask/Mono.Cecil.Pdb.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/Fody.6.0.0/netstandardtask/Mono.Cecil.Pdb.dll -------------------------------------------------------------------------------- /packages/Fody.6.0.0/netstandardtask/Mono.Cecil.Pdb.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/Fody.6.0.0/netstandardtask/Mono.Cecil.Pdb.pdb -------------------------------------------------------------------------------- /packages/Fody.6.0.0/netstandardtask/Mono.Cecil.Rocks.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/Fody.6.0.0/netstandardtask/Mono.Cecil.Rocks.dll -------------------------------------------------------------------------------- /packages/Fody.6.0.0/netstandardtask/Mono.Cecil.Rocks.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/Fody.6.0.0/netstandardtask/Mono.Cecil.Rocks.pdb -------------------------------------------------------------------------------- /packages/Lib.Harmony.2.2.2/lib/netcoreapp3.0/0Harmony.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/Lib.Harmony.2.2.2/lib/netcoreapp3.0/0Harmony.dll -------------------------------------------------------------------------------- /packages/Lib.Harmony.2.2.2/lib/netcoreapp3.1/0Harmony.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/Lib.Harmony.2.2.2/lib/netcoreapp3.1/0Harmony.dll -------------------------------------------------------------------------------- /ServerTools/obj/Debug/ServerTools.Properties.Resources.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/ServerTools/obj/Debug/ServerTools.Properties.Resources.resources -------------------------------------------------------------------------------- /ServerTools/obj/Debug/ServerTools.csproj.GenerateResource.Cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/ServerTools/obj/Debug/ServerTools.csproj.GenerateResource.Cache -------------------------------------------------------------------------------- /ServerTools/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/ServerTools/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll -------------------------------------------------------------------------------- /ServerTools/obj/Release/ServerTools.csproj.GenerateResource.Cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/ServerTools/obj/Release/ServerTools.csproj.GenerateResource.Cache -------------------------------------------------------------------------------- /packages/SharpZipLib.1.3.3/images/sharpziplib-nuget-256x256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/SharpZipLib.1.3.3/images/sharpziplib-nuget-256x256.png -------------------------------------------------------------------------------- /packages/SharpZipLib.1.3.3/lib/net45/ICSharpCode.SharpZipLib.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/SharpZipLib.1.3.3/lib/net45/ICSharpCode.SharpZipLib.dll -------------------------------------------------------------------------------- /packages/SharpZipLib.1.3.3/lib/net45/ICSharpCode.SharpZipLib.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/SharpZipLib.1.3.3/lib/net45/ICSharpCode.SharpZipLib.pdb -------------------------------------------------------------------------------- /ServerTools/obj/Release/ServerTools.Properties.Resources.resources: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/ServerTools/obj/Release/ServerTools.Properties.Resources.resources -------------------------------------------------------------------------------- /ServerTools/obj/Release/TempPE/Properties.Resources.Designer.cs.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/ServerTools/obj/Release/TempPE/Properties.Resources.Designer.cs.dll -------------------------------------------------------------------------------- /ServerTools/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/ServerTools/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /ServerTools/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/ServerTools/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache -------------------------------------------------------------------------------- /ServerTools/src/Tools/StopServer/StopServer.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace ServerTools 4 | { 5 | class StopServer 6 | { 7 | public static int Delay = 5; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /ServerTools/obj/Release/ServerTools.csprojResolveAssemblyReference.cache: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/ServerTools/obj/Release/ServerTools.csprojResolveAssemblyReference.cache -------------------------------------------------------------------------------- /packages/SharpZipLib.1.3.3/lib/netstandard2.0/ICSharpCode.SharpZipLib.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/SharpZipLib.1.3.3/lib/netstandard2.0/ICSharpCode.SharpZipLib.dll -------------------------------------------------------------------------------- /packages/SharpZipLib.1.3.3/lib/netstandard2.0/ICSharpCode.SharpZipLib.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/SharpZipLib.1.3.3/lib/netstandard2.0/ICSharpCode.SharpZipLib.pdb -------------------------------------------------------------------------------- /packages/SharpZipLib.1.3.3/lib/netstandard2.1/ICSharpCode.SharpZipLib.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/SharpZipLib.1.3.3/lib/netstandard2.1/ICSharpCode.SharpZipLib.dll -------------------------------------------------------------------------------- /packages/SharpZipLib.1.3.3/lib/netstandard2.1/ICSharpCode.SharpZipLib.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dmustanger/7dtd-ServerTools/HEAD/packages/SharpZipLib.1.3.3/lib/netstandard2.1/ICSharpCode.SharpZipLib.pdb -------------------------------------------------------------------------------- /ServerTools/src/Tools/SleeperRespawn/SleeperRespawn.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace ServerTools 4 | { 5 | class SleeperRespawn 6 | { 7 | public static bool IsEnabled = false; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /ServerTools/src/Tools/WorkstationLock/WorkstationLock.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace ServerTools 4 | { 5 | class WorkstationLock 6 | { 7 | public static bool IsEnabled = false; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /ServerTools/src/Tools/FallingBlocks/FallingBlocks.cs: -------------------------------------------------------------------------------- 1 | 2 | namespace ServerTools 3 | { 4 | class FallingBlocks 5 | { 6 | public static bool IsEnabled = false, OutputLog = false; 7 | public static int Max_Blocks = 10; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /packages/Costura.Fody.4.1.0/build/Costura.Fody.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /ServerTools/src/Tools/WebPanel/WebPanel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Text; 4 | 5 | namespace ServerTools 6 | { 7 | public class WebPanel 8 | { 9 | public static bool IsEnabled = false, Alert = false; 10 | public static int Timeout = 5; 11 | 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ServerTools/ServerTools.csproj.user: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | D:\7DaysToDieServers\DedicatedStable\7DaysToDieServer_Data\Managed\ 5 | ShowAllFiles 6 | 7 | -------------------------------------------------------------------------------- /ServerTools/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /ServerTools/ModInfo.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | 7 | # Standard to msysgit 8 | *.doc diff=astextplain 9 | *.DOC diff=astextplain 10 | *.docx diff=astextplain 11 | *.DOCX diff=astextplain 12 | *.dot diff=astextplain 13 | *.DOT diff=astextplain 14 | *.pdf diff=astextplain 15 | *.PDF diff=astextplain 16 | *.rtf diff=astextplain 17 | *.RTF diff=astextplain 18 | -------------------------------------------------------------------------------- /bin/Mods/ServerTools/ModInfo.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/JS/pad-pkcs7.js: -------------------------------------------------------------------------------- 1 | ;(function (root, factory, undef) { 2 | if (typeof exports === "object") { 3 | // CommonJS 4 | module.exports = exports = factory(require("./core"), require("./cipher-core")); 5 | } 6 | else if (typeof define === "function" && define.amd) { 7 | // AMD 8 | define(["./core", "./cipher-core"], factory); 9 | } 10 | else { 11 | // Global (browser) 12 | factory(root.CryptoJS); 13 | } 14 | }(this, function (CryptoJS) { 15 | 16 | return CryptoJS.pad.Pkcs7; 17 | 18 | })); -------------------------------------------------------------------------------- /ServerTools/src/Tools/NewPlayerProtection/NewPlayerProtection.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace ServerTools 4 | { 5 | class NewPlayerProtection 6 | { 7 | public static bool IsEnabled = false; 8 | public static int Level = 5; 9 | 10 | public static bool IsProtected(EntityPlayer _victim) 11 | { 12 | if (_victim.Progression != null && _victim.Progression.Level <= Level) 13 | { 14 | return true; 15 | } 16 | return false; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /packages/Costura.Fody.4.1.0/lib/net40/Costura.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Costura 5 | 6 | 7 | 8 | 9 | Contains methods for interacting with the Costura system. 10 | 11 | 12 | 13 | 14 | Call this to Initialize the Costura system. 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/JS/evpkdf-min.js: -------------------------------------------------------------------------------- 1 | /* 2 | CryptoJS v3.1.2 3 | code.google.com/p/crypto-js 4 | (c) 2009-2013 by Jeff Mott. All rights reserved. 5 | code.google.com/p/crypto-js/wiki/License 6 | */ 7 | (function(){var b=CryptoJS,a=b.lib,f=a.Base,k=a.WordArray,a=b.algo,l=a.EvpKDF=f.extend({cfg:f.extend({keySize:4,hasher:a.MD5,iterations:1}),init:function(a){this.cfg=this.cfg.extend(a)},compute:function(a,b){for(var c=this.cfg,d=c.hasher.create(),g=k.create(),f=g.words,h=c.keySize,c=c.iterations;f.length 2 | 3 | 4 | 5 |
6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /ServerTools/src/Chat/ChatLog/ChatLog.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Text; 4 | 5 | namespace ServerTools 6 | { 7 | public class ChatLog 8 | { 9 | public static bool IsEnabled = false; 10 | private static string file = string.Format("ChatLog_{0}.txt", DateTime.Today.ToString("M-d-yyyy")); 11 | private static string filePath = string.Format("{0}/Logs/ChatLogs/{1}", API.ConfigPath, file); 12 | 13 | public static void Exec(string _message, string _playerName, EChatType _type) 14 | { 15 | using (StreamWriter sw = new StreamWriter(filePath, true, Encoding.UTF8)) 16 | { 17 | sw.WriteLine(string.Format("{0} {1} {2}: {3}", DateTime.Now, _type.ToString(), _playerName, _message)); 18 | sw.Flush(); 19 | sw.Close(); 20 | } 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /ServerTools/src/Chat/ChatCommandLog/ChatCommandLog.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Text; 4 | 5 | namespace ServerTools 6 | { 7 | public class ChatCommandLog 8 | { 9 | public static bool IsEnabled = false; 10 | private static string file = string.Format("CommandLog_{0}.txt", DateTime.Today.ToString("M-d-yyyy")); 11 | private static string filePath = string.Format("{0}/Logs/ChatCommandLogs/{1}", API.ConfigPath, file); 12 | 13 | public static void Exec(string _message, ClientInfo _cInfo) 14 | { 15 | using (StreamWriter sw = new StreamWriter(filePath, true, Encoding.UTF8)) 16 | { 17 | sw.WriteLine(string.Format("'{0}' '{1}' '{2}' named '{3}': '{4}'", DateTime.Now, _cInfo.PlatformId.CombinedString, _cInfo.CrossplatformId.CombinedString, _cInfo.playerName, _message)); 18 | sw.Flush(); 19 | sw.Close(); 20 | } 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /7dtd-binaries/README.txt: -------------------------------------------------------------------------------- 1 | When compiling your own version of ServerTools, direct your references to these required libraries. 2 | 3 | 4 | 0Harmony 5 | Assembly-CSharp 6 | ICSharpCode.SharpZipLib 7 | LogLibrary 8 | Microsoft.CSharp 9 | Microsoft.VisualBasic 10 | System 11 | System.IO.Compression.FileSystem 12 | System.Net.Http 13 | System.Numerics 14 | System.Web 15 | System.Xml 16 | System.Xml.Linq 17 | UnityEngine 18 | UnityEngine.CoreModule 19 | 20 | 21 | Most of the required files are provided in the dedicated server directory called Managed. Example: C:\DedicatedServer\7DaysToDieServer_Data\Managed. 22 | The remainder are provided by .net framework and your operating system. It is recommended to install and utilize .net framework 4.8. 23 | 24 | You may load other libraries if you require it for your project. Be careful to pay attention at server startup for errors reported in the output log. Adding addition libraries can trigger errors due to compatibility issues. 25 | 26 | If you are unable to locate the required files to compile your own ServerTools, please contact the development team on Discord or Github. -------------------------------------------------------------------------------- /packages/Lib.Harmony.2.2.2/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Andreas Pardeike 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /ServerTools/src/Serialize/ItemStackSerializable.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | 4 | namespace ServerTools 5 | { 6 | [Serializable] 7 | 8 | public class ItemDataSerializable 9 | { 10 | public ItemDataSerializable() 11 | { 12 | this.name = ""; 13 | this.localName = ""; 14 | this.iconName = ""; 15 | this.count = 0; 16 | this.useTimes = 0f; 17 | this.maxUseTimes = 0; 18 | this.quality = 0; 19 | this.price = 0; 20 | this.modSlots = 0; 21 | this.cosmeticSlots = 0; 22 | this.seed = 0; 23 | this.hasQuality = false; 24 | } 25 | 26 | public string name; 27 | 28 | public string localName; 29 | 30 | public string iconName; 31 | 32 | public int count; 33 | 34 | public float useTimes; 35 | 36 | public int maxUseTimes; 37 | 38 | public int quality; 39 | 40 | public int price; 41 | 42 | public int modSlots; 43 | 44 | public int cosmeticSlots; 45 | 46 | public ushort seed; 47 | 48 | public bool hasQuality; 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /ServerTools.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.29613.14 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ServerTools", "ServerTools\ServerTools.csproj", "{FCF1805A-114C-45DF-8595-31D38A982F63}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {FCF1805A-114C-45DF-8595-31D38A982F63}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {FCF1805A-114C-45DF-8595-31D38A982F63}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {FCF1805A-114C-45DF-8595-31D38A982F63}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {FCF1805A-114C-45DF-8595-31D38A982F63}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {0DD18E21-B7E6-4BE9-88A5-AEA019F4A8E8} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /ServerTools/src/Tools/Session/Session.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace ServerTools 4 | { 5 | class Session 6 | { 7 | public static bool IsEnabled = false; 8 | public static string Command_session = "session"; 9 | 10 | public static void Exec(ClientInfo _cInfo) 11 | { 12 | if (GeneralOperations.Session.TryGetValue(_cInfo.CrossplatformId.CombinedString, out DateTime _time)) 13 | { 14 | TimeSpan varTime = DateTime.Now - _time; 15 | double fractionalMinutes = varTime.TotalMinutes; 16 | int _timepassed = (int)fractionalMinutes; 17 | int _sessionTime = PersistentContainer.Instance.Players[_cInfo.CrossplatformId.CombinedString].SessionTime; 18 | _sessionTime = _sessionTime + _timepassed; 19 | Phrases.Dict.TryGetValue("Session1", out string _phrase); 20 | _phrase = _phrase.Replace("{TimePassed}", _timepassed.ToString()); 21 | _phrase = _phrase.Replace("{TotalTimePassed}", _sessionTime.ToString()); 22 | ChatHook.ChatMessage(_cInfo, Config.Chat_Response_Color + _phrase + "[-]", -1, Config.Server_Response_Name, EChatType.Whisper, null); 23 | } 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /ServerTools/src/Tools/POIProtection/POIProtection.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace ServerTools 4 | { 5 | class POIProtection 6 | { 7 | public static bool IsEnabled = false, Bed = false, Claim = false; 8 | public static int Extra_Distance = 20; 9 | 10 | public static void ReturnBed(ClientInfo _cInfo, string _name) 11 | { 12 | GeneralOperations.ReturnBlock(_cInfo, _name, 1, "GiveItem1"); 13 | Phrases.Dict.TryGetValue("POI1", out string phrase); 14 | phrase = phrase.Replace("{Distance}", POIProtection.Extra_Distance.ToString()); 15 | ChatHook.ChatMessage(_cInfo, Config.Chat_Response_Color + phrase + "[-]", -1, Config.Server_Response_Name, EChatType.Whisper, null); 16 | } 17 | 18 | public static void ReturnClaim(ClientInfo _cInfo, string _name) 19 | { 20 | GeneralOperations.ReturnBlock(_cInfo, _name, 1, "GiveItem1"); 21 | Phrases.Dict.TryGetValue("POI2", out string phrase); 22 | phrase = phrase.Replace("{Distance}", POIProtection.Extra_Distance.ToString()); 23 | ChatHook.ChatMessage(_cInfo, Config.Chat_Response_Color + phrase + "[-]", -1, Config.Server_Response_Name, EChatType.Whisper, null); 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /ServerTools/src/Tools/AdminChat/AdminChat.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace ServerTools 4 | { 5 | public class AdminChat 6 | { 7 | public static bool IsEnabled = false; 8 | public static string Command_admin = "@admin"; 9 | 10 | public static void SendAdmins(ClientInfo _sender, string _message) 11 | { 12 | List clientList = GeneralOperations.ClientList(); 13 | if (clientList != null) 14 | { 15 | for (int i = 0; i < clientList.Count; i++) 16 | { 17 | ClientInfo cInfo = clientList[i]; 18 | if (cInfo != null && (GameManager.Instance.adminTools.Users.GetUserPermissionLevel(cInfo.PlatformId) <= ChatHook.Mod_Level || 19 | GameManager.Instance.adminTools.Users.GetUserPermissionLevel(cInfo.CrossplatformId) <= ChatHook.Mod_Level) && 20 | _sender.CrossplatformId.CombinedString != cInfo.CrossplatformId.CombinedString) 21 | { 22 | ChatHook.ChatMessage(cInfo, Config.Chat_Response_Color + _message + "[-]", _sender.entityId, _sender.playerName, EChatType.Whisper, null); 23 | } 24 | } 25 | } 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /ServerTools/src/PersistentData/PersistentPlayers.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ServerTools 5 | { 6 | [Serializable] 7 | public class PersistentPlayers 8 | { 9 | public Dictionary Players = new Dictionary(); 10 | 11 | public List IDs 12 | { 13 | get 14 | { 15 | return new List(Players.Keys); 16 | } 17 | } 18 | 19 | public PersistentPlayer this[string id] 20 | { 21 | get 22 | { 23 | if (!string.IsNullOrEmpty(id)) 24 | { 25 | if (Players.ContainsKey(id)) 26 | { 27 | return Players[id]; 28 | } 29 | else if (id.Contains("_")) 30 | { 31 | if (GeneralOperations.GetPersistentPlayerDataFromId(id) != null) 32 | { 33 | PersistentPlayer p = new PersistentPlayer(id); 34 | Players.Add(id, p); 35 | return p; 36 | } 37 | } 38 | } 39 | return null; 40 | } 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /ServerTools/src/Tools/FPS/Fps.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace ServerTools 4 | { 5 | class Fps 6 | { 7 | public static bool IsEnabled = false; 8 | public static string Command_fps = "fps"; 9 | public static int Max_FPS = 0; 10 | 11 | public static void Exec(ClientInfo _cInfo) 12 | { 13 | int fps = (int)GameManager.Instance.fps.Counter; 14 | if (fps > Max_FPS) 15 | { 16 | fps = Max_FPS; 17 | } 18 | Phrases.Dict.TryGetValue("Fps1", out string _phrase); 19 | _phrase = _phrase.Replace("{Fps}", fps.ToString()); 20 | ChatHook.ChatMessage(_cInfo, Config.Chat_Response_Color + _phrase + "[-]", -1, Config.Server_Response_Name, EChatType.Whisper, null); 21 | } 22 | 23 | public static void SetTarget(int _target) 24 | { 25 | if (_target > 0) 26 | { 27 | if (_target != Max_FPS) 28 | { 29 | Max_FPS = _target; 30 | GameManager.Instance.waitForTargetFPS.TargetFPS = Max_FPS; 31 | } 32 | } 33 | else 34 | { 35 | GameManager.Instance.waitForTargetFPS.TargetFPS = 20; 36 | Max_FPS = 0; 37 | } 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/TestConsole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ServerTools 5 | { 6 | class TestConsole : ConsoleCmdAbstract 7 | { 8 | 9 | protected override string getDescription() 10 | { 11 | return "[ServerTools] - Test a command"; 12 | } 13 | 14 | protected override string getHelp() 15 | { 16 | return "Usage:\n" + 17 | " 1. st-test\n" + 18 | " 2. st-test off\n" + 19 | "1. Runs the test\n" + 20 | "2. Disables the test\n"; 21 | } 22 | 23 | protected override string[] getCommands() 24 | { 25 | return new string[] { "st-Test", "test" }; 26 | } 27 | 28 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 29 | { 30 | try 31 | { 32 | if (GameManager.Instance.World == null) 33 | { 34 | SdtdConsole.Instance.Output("[SERVERTOOLS] The world is not loaded. Unable to run command"); 35 | return; 36 | } 37 | } 38 | catch (Exception e) 39 | { 40 | Log.Out(string.Format("[SERVERTOOLS] Error in TestConsole.Execute: '{0}'", e.Message)); 41 | } 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /ServerTools/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | // General Information about an assembly is controlled through the following 5 | // set of attributes. Change these attribute values to modify the information 6 | // associated with an assembly. 7 | [assembly: AssemblyTitle("ServerTools")] 8 | [assembly: AssemblyDescription("")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyCompany("")] 11 | [assembly: AssemblyProduct("ServerTools")] 12 | [assembly: AssemblyCopyright("Copyright © 2016")] 13 | [assembly: AssemblyTrademark("")] 14 | [assembly: AssemblyCulture("")] 15 | 16 | // Setting ComVisible to false makes the types in this assembly not visible 17 | // to COM components. If you need to access a type in this assembly from 18 | // COM, set the ComVisible attribute to true on that type. 19 | [assembly: ComVisible(false)] 20 | 21 | // The following GUID is for the ID of the typelib if this project is exposed to COM 22 | [assembly: Guid("fcf1805a-114c-45df-8595-31d38a982f63")] 23 | 24 | // Version information for an assembly consists of the following four values: 25 | // 26 | // Major Version 27 | // Minor Version 28 | // Build Number 29 | // Revision 30 | // 31 | // You can specify all the values or you can default the Build and Revision Numbers 32 | // by using the '*' as shown below: 33 | // [assembly: AssemblyVersion("1.0.*")] 34 | [assembly: AssemblyVersion("21.1.3.0")] 35 | [assembly: AssemblyFileVersion("21.1.3.0")] 36 | -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/DeletePlayerDataConsole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ServerTools 5 | { 6 | class DeletePlayerDataConsole : ConsoleCmdAbstract 7 | { 8 | protected override string getDescription() 9 | { 10 | return "[ServerTools] - Deletes all saved player data from ServerTools bin file"; 11 | } 12 | 13 | protected override string getHelp() 14 | { 15 | return "Usage:\n" + 16 | " 1. st-dpd\n" + 17 | "1. Deletes all saved player data from ServerTools such as home positions, waypoints and wallets\n" + 18 | "2. *Note* Be very careful running this command. It can not be reloaded without a backup\n"; 19 | } 20 | 21 | protected override string[] getCommands() 22 | { 23 | return new string[] { "st-DeletePlayerData", "deleteplayerdata", "st-dpd" }; 24 | } 25 | 26 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 27 | { 28 | try 29 | { 30 | DeletePlayerData.Exec(); 31 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] All save data from ServerTools.bin has been deleted")); 32 | } 33 | catch (Exception e) 34 | { 35 | Log.Out(string.Format("[SERVERTOOLS] Error in DeletePlayerDataConsole.Execute: {0}", e.Message)); 36 | } 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /ServerTools/src/Tools/PlayerList/PlayerList.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace ServerTools 4 | { 5 | class PlayerList 6 | { 7 | public static bool IsEnabled = false; 8 | public static string Command_playerlist = "playerlist", Command_plist = "plist"; 9 | 10 | public static void Exec(ClientInfo _cInfo) 11 | { 12 | List clientList = GeneralOperations.ClientList(); 13 | if (clientList != null) 14 | { 15 | for (int i = 0; i < clientList.Count; i++) 16 | { 17 | ClientInfo cInfo2 = clientList[i]; 18 | if (_cInfo.entityId != cInfo2.entityId) 19 | { 20 | Phrases.Dict.TryGetValue("PlayerList1", out string phrase); 21 | phrase = phrase.Replace("{PlayerName}", cInfo2.playerName); 22 | phrase = phrase.Replace("{EntityId}", cInfo2.entityId.ToString()); 23 | ChatHook.ChatMessage(_cInfo, Config.Chat_Response_Color + phrase + "[-]", -1, Config.Server_Response_Name, EChatType.Whisper, null); 24 | } 25 | } 26 | } 27 | else 28 | { 29 | Phrases.Dict.TryGetValue("PlayerList2", out string phrase); 30 | ChatHook.ChatMessage(_cInfo, Config.Chat_Response_Color + phrase + "[-]", -1, Config.Server_Response_Name, EChatType.Whisper, null); 31 | } 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /ServerTools/src/AntiCheat/No_Vehicle_Drone/NoVehicleDrone.cs: -------------------------------------------------------------------------------- 1 | using HarmonyLib; 2 | using System; 3 | 4 | namespace ServerTools 5 | { 6 | class NoVehicleDrone 7 | { 8 | public static bool IsEnabled = false; 9 | 10 | public static AccessTools.FieldRef riderId = AccessTools.FieldRefAccess("riderId"); 11 | private static AccessTools.FieldRef vehicleId = AccessTools.FieldRefAccess("vehicleId"); 12 | 13 | public static bool Exec(NetPackageEntityAttach __instance, EntityPlayer _player) 14 | { 15 | Entity entity = GeneralOperations.GetEntity(vehicleId(__instance)); 16 | if (entity != null)//if null, they are most likely dettaching 17 | { 18 | OwnedEntityData[] ownedEntities = _player.GetOwnedEntities(); 19 | if (ownedEntities != null && ownedEntities.Length > 0) 20 | { 21 | for (int i = 0; i < ownedEntities.Length; i++) 22 | { 23 | OwnedEntityData entityData = ownedEntities[i]; 24 | Entity ownedEntity = GeneralOperations.GetEntity(entityData.Id); 25 | if (ownedEntity != null && ownedEntity is EntityDrone && entity is EntityVehicle) 26 | { 27 | return false; 28 | } 29 | } 30 | } 31 | } 32 | return true; 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /ServerTools/src/Tools/DroppedBagProtection/DroppedBagProtection.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ServerTools 5 | { 6 | class DroppedBagProtection 7 | { 8 | public static bool IsEnabled = false, Friend_Access = false; 9 | 10 | public static bool IsAllowed(int _entityIdThatOpenedIt, TileEntityLootContainer lootContainer) 11 | { 12 | Entity entity = GameManager.Instance.World.GetEntity(lootContainer.entityId); 13 | if (entity != null && entity is EntityBackpack) 14 | { 15 | EntityBackpack backpack = entity as EntityBackpack; 16 | if (backpack.RefPlayerId == _entityIdThatOpenedIt || backpack.OwnerId == _entityIdThatOpenedIt) 17 | { 18 | return true; 19 | } 20 | else if (Friend_Access) 21 | { 22 | PersistentPlayerData ppdAccess = GeneralOperations.GetPersistentPlayerDataFromEntityId(_entityIdThatOpenedIt); 23 | PersistentPlayerData ppdOwner = GeneralOperations.GetPersistentPlayerDataFromEntityId(backpack.RefPlayerId); 24 | if (ppdAccess != null && ppdOwner != null) 25 | { 26 | if (ppdAccess.ACL.Contains(ppdAccess.UserIdentifier) && ppdOwner.ACL.Contains(ppdOwner.UserIdentifier)) 27 | { 28 | return true; 29 | } 30 | } 31 | } 32 | } 33 | return false; 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/MaxPingConsole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ServerTools 5 | { 6 | public class MaxPingConsole : ConsoleCmdAbstract 7 | { 8 | protected override string getDescription() 9 | { 10 | return "[ServerTools] - Sets the max ping limit for the server."; 11 | } 12 | protected override string getHelp() 13 | { 14 | return "Usage: st-mp "; 15 | } 16 | protected override string[] getCommands() 17 | { 18 | return new string[] { "st-MaxPing", "mp", "st-mp" }; 19 | } 20 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 21 | { 22 | try 23 | { 24 | if (_params.Count != 1) 25 | { 26 | SdtdConsole.Instance.Output("[SERVERTOOLS] Wrong number of arguments"); 27 | return; 28 | } 29 | if (!int.TryParse(_params[0], out HighPingKicker.Max_Ping)) 30 | { 31 | SdtdConsole.Instance.Output("[SERVERTOOLS] Maxping is not an integer"); 32 | return; 33 | } 34 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Max ping limit set to '{0}'", HighPingKicker.Max_Ping)); 35 | Config.WriteXml(); 36 | } 37 | catch (Exception e) 38 | { 39 | Log.Out(string.Format("[SERVERTOOLS] Error in MaxPingConsole.Execute: {0}", e.Message)); 40 | } 41 | } 42 | } 43 | } -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/LogConsole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ServerTools 5 | { 6 | class LogConsole : ConsoleCmdAbstract 7 | { 8 | protected override string getDescription() 9 | { 10 | return "[ServerTools] - Adds the specified entry to the current output log."; 11 | } 12 | 13 | protected override string getHelp() 14 | { 15 | return "Usage:\n" + 16 | " 1. st-Logs 'Entry for output log'\n" + 17 | "1. Adds the entry to the server output log\n"; 18 | 19 | } 20 | 21 | protected override string[] getCommands() 22 | { 23 | return new string[] { "st-Logs", "log", "st-log" }; 24 | } 25 | 26 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 27 | { 28 | try 29 | { 30 | if (_params.Count < 2) 31 | { 32 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 2 or more, found '{0}'", _params.Count)); 33 | return; 34 | } 35 | _params.RemoveAt(0); 36 | string _message = string.Join(" ", _params); 37 | Log.Out(_message); 38 | SdtdConsole.Instance.Output("[SERVERTOOLS] Log entry: _message"); 39 | } 40 | catch (Exception e) 41 | { 42 | Log.Out(string.Format("[SERVERTOOLS] Error in LogConsole.Execute: {0}", e.Message)); 43 | } 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/PhraseResetConsole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | 5 | namespace ServerTools 6 | { 7 | class PhraseResetConsole : ConsoleCmdAbstract 8 | { 9 | protected override string getDescription() 10 | { 11 | return "[ServerTools] - Reset the Phrases.xml file"; 12 | } 13 | 14 | protected override string getHelp() 15 | { 16 | return "Usage:\n" + 17 | " 1. st-pr\n" + 18 | "1. Resets the current Phrases.xml to the default values\n" + 19 | "*Note* This will wipe out all custom entries to this file\n"; 20 | } 21 | 22 | protected override string[] getCommands() 23 | { 24 | return new string[] { "st-PhraseReset", "pr", "st-pr" }; 25 | } 26 | 27 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 28 | { 29 | try 30 | { 31 | if (!File.Exists(Phrases.FilePath)) 32 | { 33 | Phrases.ResetXml(); 34 | SdtdConsole.Instance.Output("[SERVERTOOLS] Phrase file has been reset to default"); 35 | return; 36 | } 37 | else 38 | { 39 | SdtdConsole.Instance.Output("[SERVERTOOLS] Phrase file was not found. Unable to reset"); 40 | return; 41 | } 42 | } 43 | catch (Exception e) 44 | { 45 | Log.Out(string.Format("[SERVERTOOLS] Error in PhraseResetConsole.Execute: {0}", e.Message)); 46 | } 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /ServerTools/src/Tools/BigHead/BigHead.cs: -------------------------------------------------------------------------------- 1 | 2 | 3 | using System.Collections.Generic; 4 | 5 | namespace ServerTools 6 | { 7 | class BigHead 8 | { 9 | public static bool IsEnabled = false, IsRunning = false; 10 | 11 | public static void Enable() 12 | { 13 | IsRunning = true; 14 | if (GameManager.Instance.World.Entities.Count < 0) 15 | { 16 | return; 17 | } 18 | List entityList = GameManager.Instance.World.Entities.list; 19 | if (entityList == null) 20 | { 21 | return; 22 | } 23 | for (int i = 0; i < entityList.Count; i++) 24 | { 25 | if (!(entityList[i] is EntityZombie) || !entityList[i].IsAlive()) 26 | { 27 | continue; 28 | } 29 | EntityAlive entity = (EntityAlive)entityList[i]; 30 | entity.SetBigHead(); 31 | } 32 | } 33 | 34 | public static void Disable() 35 | { 36 | IsRunning = false; 37 | if (GameManager.Instance.World.Entities.Count < 0) 38 | { 39 | return; 40 | } 41 | List entityList = GameManager.Instance.World.Entities.list; 42 | if (entityList == null) 43 | { 44 | return; 45 | } 46 | for (int i = 0; i < entityList.Count; i++) 47 | { 48 | if (!(entityList[i] is EntityZombie) || !entityList[i].IsAlive()) 49 | { 50 | continue; 51 | } 52 | EntityAlive entity = (EntityAlive)entityList[i]; 53 | entity.ResetHead(); 54 | } 55 | } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/@AdminConsole.cs: -------------------------------------------------------------------------------- 1 | using ServerTools; 2 | using System; 3 | using System.Collections.Generic; 4 | 5 | public class @AdminsConsole : ConsoleCmdAbstract 6 | { 7 | 8 | public static int Admin_Level = 0; 9 | 10 | protected override string getDescription() 11 | { 12 | return "[ServerTools] - Sends a message to all online admins."; 13 | } 14 | 15 | protected override string getHelp() 16 | { 17 | return "Usage:\n" + 18 | " 1. st-@a Your message\n" + 19 | "1. Sends your private chat message to all online admins.\n"; 20 | } 21 | 22 | protected override string[] getCommands() 23 | { 24 | return new string[] { "st-@Admin", "@admin", "st-@a" }; 25 | } 26 | 27 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 28 | { 29 | try 30 | { 31 | string message = string.Join(" ", _params.ToArray()); 32 | List cInfoList = GeneralOperations.ClientList(); 33 | if (cInfoList != null) 34 | { 35 | for (int i = 0; i < cInfoList.Count; i++) 36 | { 37 | ClientInfo cInfo = cInfoList[i]; 38 | if (GameManager.Instance.adminTools.Users.GetUserPermissionLevel(cInfo) == 0) 39 | { 40 | ChatHook.ChatMessage(cInfo, Config.Chat_Response_Color + message + "[-]", -1, cInfo.playerName, EChatType.Whisper, null); 41 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Message sent to {0}", cInfo.playerName)); 42 | } 43 | } 44 | } 45 | } 46 | catch (Exception e) 47 | { 48 | Log.Out(string.Format("[SERVERTOOLS] Error in @AdminConsole.Execute: {0}", e.Message)); 49 | } 50 | } 51 | } 52 | 53 | -------------------------------------------------------------------------------- /ServerTools/src/AntiCheat/GodMode/GodMode.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Text; 4 | 5 | namespace ServerTools 6 | { 7 | class GodMode 8 | { 9 | public static bool IsEnabled = false; 10 | public static int Admin_Level = 0; 11 | 12 | private static string file = string.Format("DetectionLog_{0}.txt", DateTime.Today.ToString("M-d-yyyy")); 13 | private static string filepath = string.Format("{0}/Logs/DetectionLogs/{1}", API.ConfigPath, file); 14 | 15 | public static void CheckForGodMode(ClientInfo _cInfo, EntityPlayer _player) 16 | { 17 | if (_player.Buffs.HasBuff("god")) 18 | { 19 | Phrases.Dict.TryGetValue("Godmode2", out string phrase); 20 | SdtdConsole.Instance.ExecuteSync(string.Format("ban add {0} 5 years \"{1}\"", _cInfo.CrossplatformId.CombinedString, phrase), null); 21 | using (StreamWriter sw = new StreamWriter(filepath, true, Encoding.UTF8)) 22 | { 23 | sw.WriteLine(string.Format("Detected id '{0}' '{1}' named '{2}' using god mode @ '{3}'", _cInfo.PlatformId.CombinedString, _cInfo.CrossplatformId.CombinedString, _cInfo.playerName, _player.position)); 24 | sw.WriteLine(); 25 | sw.Flush(); 26 | sw.Close(); 27 | } 28 | Log.Warning(string.Format("[SERVERTOOLS] Detected id '{0}' '{1}' named '{2}' using god mode @ '{3}'", _cInfo.PlatformId.CombinedString, _cInfo.CrossplatformId.CombinedString, _cInfo.playerName, _player.position)); 29 | Phrases.Dict.TryGetValue("Godmode1", out phrase); 30 | phrase = phrase.Replace("{PlayerName}", _cInfo.playerName); 31 | ChatHook.ChatMessage(null, Config.Chat_Response_Color + phrase + "[-]", -1, Config.Server_Response_Name, EChatType.Global, null); 32 | } 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/TraderListConsole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ServerTools 5 | { 6 | class TraderListConsole : ConsoleCmdAbstract 7 | { 8 | protected override string getDescription() 9 | { 10 | return "[ServerTools] - Lists the trader locations."; 11 | } 12 | 13 | protected override string getHelp() 14 | { 15 | return "Usage:\n" + 16 | " 1. st-tl\n" + 17 | "1. Shows a list of trader locations\n"; 18 | } 19 | 20 | protected override string[] getCommands() 21 | { 22 | return new string[] { "st-Traderlist", "tl", "st-tl" }; 23 | } 24 | 25 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 26 | { 27 | try 28 | { 29 | int _counter = 1; 30 | List _traderlist = GameManager.Instance.World.TraderAreas; 31 | for (int i = 0; i < _traderlist.Count; i++) 32 | { 33 | TraderArea _traderArea = _traderlist[i]; 34 | Vector3i _position = _traderArea.Position; 35 | bool _closed = _traderArea.IsClosed; 36 | SdtdConsole.Instance.Output(string.Format("#{0}: Trader located at x {1} y {2} z {3}", _counter, _position.x, _position.y, _position.z)); 37 | if (!_closed) 38 | { 39 | SdtdConsole.Instance.Output(string.Format("#{0}: Trader is open", _counter)); 40 | } 41 | else 42 | { 43 | SdtdConsole.Instance.Output(string.Format("#{0}: Trader is closed", _counter)); 44 | } 45 | _counter++; 46 | } 47 | } 48 | catch (Exception e) 49 | { 50 | Log.Out(string.Format("[SERVERTOOLS] Error in TraderListConsole.Execute: {0}", e.Message)); 51 | } 52 | } 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /ServerTools/src/Tools/Location/Loc.cs: -------------------------------------------------------------------------------- 1 | 2 | using UnityEngine; 3 | 4 | namespace ServerTools 5 | { 6 | class Loc 7 | 8 | { 9 | public static bool IsEnabled = false; 10 | public static string Command_loc = "loc"; 11 | 12 | public static void Exec(ClientInfo _cInfo) 13 | { 14 | Entity player = GeneralOperations.GetEntityPlayer(_cInfo.entityId); 15 | if (player != null) 16 | { 17 | Vector3i position = new Vector3i(player.position.x, player.position.y, player.position.z); 18 | if (Zones.IsEnabled && Zones.ZonePlayer.ContainsKey(_cInfo.entityId)) 19 | { 20 | Zones.ZonePlayer.TryGetValue(_cInfo.entityId, out string[] zone); 21 | Phrases.Dict.TryGetValue("Location1", out string phrase); 22 | phrase = phrase.Replace("{Position}", position.ToString()); 23 | phrase = phrase.Replace("{Name}", zone[0]); 24 | if (zone[9] == "0") 25 | { 26 | phrase = phrase.Replace("{Mode}", "no killing"); 27 | } 28 | else if (zone[9] == "1") 29 | { 30 | phrase = phrase.Replace("{Mode}", "kill allies only"); 31 | } 32 | else if (zone[9] == "2") 33 | { 34 | phrase = phrase.Replace("{Mode}", "kill strangers only"); 35 | } 36 | else 37 | { 38 | phrase = phrase.Replace("{Mode}", "kill everyone"); 39 | } 40 | ChatHook.ChatMessage(_cInfo, Config.Chat_Response_Color + phrase + "[-]", -1, Config.Server_Response_Name, EChatType.Whisper, null); 41 | return; 42 | } 43 | Phrases.Dict.TryGetValue("Location2", out string phrase1); 44 | phrase1 = phrase1.Replace("{Position}", position.ToString()); 45 | ChatHook.ChatMessage(_cInfo, Config.Chat_Response_Color + phrase1 + "[-]", -1, Config.Server_Response_Name, EChatType.Whisper, null); 46 | } 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/RemoveZombieAnimalConsole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ServerTools 5 | { 6 | class RemoveZombieAnimalConsole : ConsoleCmdAbstract 7 | { 8 | protected override string getDescription() 9 | { 10 | return "[ServerTools] - Remove all zombies and animals on the map."; 11 | } 12 | 13 | protected override string getHelp() 14 | { 15 | return "Usage:\n" + 16 | " 1. st-rza\n" + 17 | "1. Removes all current zombies and animals on the map\n"; 18 | } 19 | 20 | protected override string[] getCommands() 21 | { 22 | return new string[] { "st-RemoveZombieAnimals", "rza", "st-rza" }; 23 | } 24 | 25 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 26 | { 27 | try 28 | { 29 | List Entities = GameManager.Instance.World.Entities.list; 30 | for (int i = 0; i < Entities.Count; i++) 31 | { 32 | Entity entity = Entities[i]; 33 | if (entity != null) 34 | { 35 | if (!entity.IsClientControlled() && !entity.IsDead()) 36 | { 37 | if (entity.entityType == EntityType.Animal || entity.entityType == EntityType.Zombie) 38 | { 39 | GameManager.Instance.World.RemoveEntity(entity.entityId, EnumRemoveEntityReason.Despawned); 40 | } 41 | } 42 | } 43 | } 44 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] All current zombies and animals have been removed from the map")); 45 | Log.Out(string.Format("[SERVERTOOLS] Console command st-RemoveZombieAnimals has been run. All current zombies and animals have been removed from the map.")); 46 | } 47 | catch (Exception e) 48 | { 49 | Log.Out(string.Format("[SERVERTOOLS] Error in RemoveZombieAnimalConsole.Execute: {0}", e.Message)); 50 | } 51 | } 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/ClientConsoleCommandConsole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ServerTools 5 | { 6 | class ClientConsoleCommandConsole : ConsoleCmdAbstract 7 | { 8 | protected override string getDescription() 9 | { 10 | return "[ServerTools] - Force a client to run a console command"; 11 | } 12 | 13 | protected override string getHelp() 14 | { 15 | return "Usage:\n" + 16 | " 1. st-ccc \n" + 17 | "1. Forces the specified player to run this console command\n"; 18 | } 19 | 20 | protected override string[] getCommands() 21 | { 22 | return new string[] { "st-ClientConsoleCommand", "ccc", "st-ccc" }; 23 | } 24 | 25 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 26 | { 27 | try 28 | { 29 | if (_params.Count < 2) 30 | { 31 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 2 or more, found {0}", _params.Count)); 32 | return; 33 | } 34 | ClientInfo cInfo = GeneralOperations.GetClientInfoFromNameOrId(_params[0]); 35 | if (cInfo != null) 36 | { 37 | _params.RemoveAt(0); 38 | string command = string.Join(" ", _params); 39 | cInfo.SendPackage(NetPackageManager.GetPackage().Setup(string.Format("{0}", command), true)); 40 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Ran console command '{0}' on id '{1}' '{2}' named {3}", command, cInfo.PlatformId.CombinedString, cInfo.CrossplatformId.CombinedString, cInfo.playerName)); 41 | } 42 | else 43 | { 44 | Log.Out(string.Format("[SERVERTOOLS] Unable to locate '{0}' online", _params[0])); 45 | } 46 | } 47 | catch (Exception e) 48 | { 49 | Log.Out(string.Format("[SERVERTOOLS] Error in ClientConsoleCommandConsole.Execute: {0}", e.Message)); 50 | } 51 | } 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/NextShutdownConsole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ServerTools 5 | { 6 | class NextShutdownConsole : ConsoleCmdAbstract 7 | { 8 | protected override string getDescription() 9 | { 10 | return "[ServerTools] - Shows the next scheduled shutdown"; 11 | } 12 | 13 | protected override string getHelp() 14 | { 15 | return "Usage:\n" + 16 | " 1. st-scheck\n" + 17 | "1. Shows the next scheduled shutdown\n"; 18 | } 19 | 20 | protected override string[] getCommands() 21 | { 22 | return new string[] { "st-ShutdownCheck", "scheck", "st-scheck" }; 23 | } 24 | 25 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 26 | { 27 | try 28 | { 29 | if (Shutdown.IsEnabled) 30 | { 31 | EventSchedule.Schedule.TryGetValue("Shutdown", out DateTime time); 32 | TimeSpan varTime = time - DateTime.Now; 33 | double fractionalMinutes = varTime.TotalMinutes; 34 | int remainingTime = (int)fractionalMinutes; 35 | if (remainingTime < 0) 36 | { 37 | remainingTime = 0; 38 | } 39 | if (remainingTime <= 10 && Event.Open) 40 | { 41 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] A event is currently active. The server can not shutdown until it completes")); 42 | return; 43 | } 44 | string timeLeft = string.Format("{0:00} H : {1:00} M", remainingTime / 60, remainingTime % 60); 45 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] The next auto shutdown is in '{0}'", timeLeft)); 46 | } 47 | else 48 | { 49 | SdtdConsole.Instance.Output("[SERVERTOOLS] Shutdown is not enabled"); 50 | return; 51 | } 52 | } 53 | catch (Exception e) 54 | { 55 | Log.Out(string.Format("[SERVERTOOLS] Error in NextShutdownConsole.Execute: {0}", e.Message)); 56 | } 57 | } 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /ServerTools/src/Tools/ConsoleCommandLog/Console_Command_Log.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Text; 4 | 5 | namespace ServerTools 6 | { 7 | class ConsoleCommandLog 8 | { 9 | public static bool IsEnabled = false; 10 | private static string file = string.Format("ConsoleCommandLog_{0}.txt", DateTime.Today.ToString("M-d-yyyy")); 11 | private static string filepath = string.Format("{0}/Logs/ConsoleCommandLogs/{1}", API.ConfigPath, file); 12 | 13 | public static void Exec(ClientInfo _cInfo, string _cmd) 14 | { 15 | if (_cInfo != null && !string.IsNullOrEmpty(_cmd)) 16 | { 17 | if (!string.IsNullOrEmpty(_cInfo.playerName)) 18 | { 19 | using (StreamWriter sw = new StreamWriter(filepath, true, Encoding.UTF8)) 20 | { 21 | sw.WriteLine(string.Format("{0}: '{1}' '{2}' with IP '{3}' named '{4}' executed command '{5}' in the console", DateTime.Now, _cInfo.PlatformId.CombinedString, _cInfo.CrossplatformId.CombinedString, _cInfo.ip, _cInfo.playerName, _cmd)); 22 | sw.WriteLine(); 23 | sw.Flush(); 24 | sw.Close(); 25 | } 26 | } 27 | else if (!string.IsNullOrEmpty(_cInfo.ip)) 28 | { 29 | using (StreamWriter sw = new StreamWriter(filepath, true, Encoding.UTF8)) 30 | { 31 | sw.WriteLine(string.Format("{0}: '{1}' '{2}' named '{3}' executed command '{4}' in the console", DateTime.Now, _cInfo.PlatformId.CombinedString, _cInfo.CrossplatformId.CombinedString, _cInfo.ip, _cmd)); 32 | sw.WriteLine(); 33 | sw.Flush(); 34 | sw.Close(); 35 | } 36 | } 37 | else 38 | { 39 | using (StreamWriter sw = new StreamWriter(filepath, true, Encoding.UTF8)) 40 | { 41 | sw.WriteLine(string.Format("{0}: '{1}' '{2}' executed command '{3}' in the console", DateTime.Now, _cInfo.PlatformId.CombinedString, _cInfo.CrossplatformId.CombinedString, _cmd)); 42 | sw.WriteLine(); 43 | sw.Flush(); 44 | sw.Close(); 45 | } 46 | } 47 | } 48 | } 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/JS/lib-typedarrays.js: -------------------------------------------------------------------------------- 1 | ;(function (root, factory) { 2 | if (typeof exports === "object") { 3 | // CommonJS 4 | module.exports = exports = factory(require("./core")); 5 | } 6 | else if (typeof define === "function" && define.amd) { 7 | // AMD 8 | define(["./core"], factory); 9 | } 10 | else { 11 | // Global (browser) 12 | factory(root.CryptoJS); 13 | } 14 | }(this, function (CryptoJS) { 15 | 16 | (function () { 17 | // Check if typed arrays are supported 18 | if (typeof ArrayBuffer != 'function') { 19 | return; 20 | } 21 | 22 | // Shortcuts 23 | var C = CryptoJS; 24 | var C_lib = C.lib; 25 | var WordArray = C_lib.WordArray; 26 | 27 | // Reference original init 28 | var superInit = WordArray.init; 29 | 30 | // Augment WordArray.init to handle typed arrays 31 | var subInit = WordArray.init = function (typedArray) { 32 | // Convert buffers to uint8 33 | if (typedArray instanceof ArrayBuffer) { 34 | typedArray = new Uint8Array(typedArray); 35 | } 36 | 37 | // Convert other array views to uint8 38 | if ( 39 | typedArray instanceof Int8Array || 40 | (typeof Uint8ClampedArray !== "undefined" && typedArray instanceof Uint8ClampedArray) || 41 | typedArray instanceof Int16Array || 42 | typedArray instanceof Uint16Array || 43 | typedArray instanceof Int32Array || 44 | typedArray instanceof Uint32Array || 45 | typedArray instanceof Float32Array || 46 | typedArray instanceof Float64Array 47 | ) { 48 | typedArray = new Uint8Array(typedArray.buffer, typedArray.byteOffset, typedArray.byteLength); 49 | } 50 | 51 | // Handle Uint8Array 52 | if (typedArray instanceof Uint8Array) { 53 | // Shortcut 54 | var typedArrayByteLength = typedArray.byteLength; 55 | 56 | // Extract bytes 57 | var words = []; 58 | for (var i = 0; i < typedArrayByteLength; i++) { 59 | words[i >>> 2] |= typedArray[i] << (24 - (i % 4) * 8); 60 | } 61 | 62 | // Initialize this word array 63 | superInit.call(this, words, typedArrayByteLength); 64 | } else { 65 | // Else call normal init 66 | superInit.apply(this, arguments); 67 | } 68 | }; 69 | 70 | subInit.prototype = WordArray; 71 | }()); 72 | 73 | 74 | return CryptoJS.lib.WordArray; 75 | 76 | })); -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/shop.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | Shop 18 | 19 | 20 | 41 |
42 |
43 |
44 |
45 |

Security Id

46 | 47 | 48 |
49 |
50 |

FILTERS


51 |
52 |
53 |
54 |
55 |

ITEM INFO

56 | ... 57 |
58 |
59 | 60 |
61 |
62 |
63 | 64 | -------------------------------------------------------------------------------- /ServerTools/src/Tools/FirstClaimBlock/FirstClaimBlock.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace ServerTools 4 | { 5 | public class FirstClaimBlock 6 | { 7 | public static bool IsEnabled = false; 8 | public static string Command_claim = "claim"; 9 | 10 | public static void FirstClaim(ClientInfo _cInfo) 11 | { 12 | bool _firstClaim = PersistentContainer.Instance.Players[_cInfo.CrossplatformId.CombinedString].FirstClaimBlock; 13 | if (!_firstClaim) 14 | { 15 | World world = GameManager.Instance.World; 16 | string claimBlock = "keystoneBlock"; 17 | ItemValue itemValue; 18 | itemValue = new ItemValue(ItemClass.GetItem(claimBlock).type, 1, 1, true); 19 | 20 | if (Equals(itemValue, ItemValue.None)) 21 | { 22 | SdtdConsole.Instance.Output(string.Format("Unable to find block {0} for /{1} command", claimBlock, Command_claim)); 23 | } 24 | var entityItem = (EntityItem)EntityFactory.CreateEntity(new EntityCreationData 25 | { 26 | entityClass = EntityClass.FromString("item"), 27 | id = EntityFactory.nextEntityID++, 28 | itemStack = new ItemStack(itemValue, 1), 29 | pos = world.Players.dict[_cInfo.entityId].position, 30 | rot = new Vector3(20f, 0f, 20f), 31 | lifetime = 60f, 32 | belongsPlayerId = _cInfo.entityId 33 | }); 34 | world.SpawnEntityInWorld(entityItem); 35 | _cInfo.SendPackage(NetPackageManager.GetPackage().Setup(entityItem.entityId, _cInfo.entityId)); 36 | world.RemoveEntity(entityItem.entityId, EnumRemoveEntityReason.Despawned); 37 | PersistentContainer.Instance.Players[_cInfo.CrossplatformId.CombinedString].FirstClaimBlock = true; 38 | PersistentContainer.DataChange = true; 39 | Phrases.Dict.TryGetValue("FirstClaimBlock1", out string _phrase); 40 | ChatHook.ChatMessage(_cInfo, Config.Chat_Response_Color + _phrase + "[-]", -1, Config.Server_Response_Name, EChatType.Whisper, null); 41 | } 42 | else 43 | { 44 | Phrases.Dict.TryGetValue("FirstClaimBlock2", out string _phrase); 45 | ChatHook.ChatMessage(_cInfo, Config.Chat_Response_Color + _phrase + "[-]", -1, Config.Server_Response_Name, EChatType.Whisper, null); 46 | } 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/RemoveEntityConsole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ServerTools 5 | { 6 | public class RemoveEntityConsole : ConsoleCmdAbstract 7 | { 8 | protected override string getDescription() 9 | { 10 | return "[ServerTools] - Removes an entity from the game"; 11 | } 12 | 13 | protected override string getHelp() 14 | { 15 | return "Removes an entity from the game\n" + 16 | "Usage: st-rem \n" + 17 | "Usage: rem "; 18 | } 19 | 20 | protected override string[] getCommands() 21 | { 22 | return new string[] { "st-RemoveEntity", "rem", "st-rem" }; 23 | } 24 | 25 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 26 | { 27 | try 28 | { 29 | if (_params.Count != 1) 30 | { 31 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 1, found '{0}'", _params.Count)); 32 | return; 33 | } 34 | int entityId = 0; 35 | if (!int.TryParse(_params[0], out entityId)) 36 | { 37 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Invalid entityId '{0}'", entityId)); 38 | return; 39 | } 40 | else if (GameManager.Instance.World.Entities.dict.ContainsKey(entityId) && GameManager.Instance.World.Entities.dict.TryGetValue(entityId, out Entity entity) && 41 | entity != null) 42 | { 43 | if (!entity.IsMarkedForUnload()) 44 | { 45 | entity.MarkToUnload(); 46 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Marked entity '{0}' for unload", entityId)); 47 | } 48 | else 49 | { 50 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Entity '{0}' is already marked for unload", entityId)); 51 | } 52 | } 53 | else 54 | { 55 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Entity '{0}' not found. Unable to remove", entityId)); 56 | } 57 | } 58 | catch (Exception e) 59 | { 60 | Log.Out(string.Format("[SERVERTOOLS] Error in RemoveEntityConsole.Execute: {0}", e.Message)); 61 | } 62 | } 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/GiveExpConsole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ServerTools 5 | { 6 | class GiveExpConsole : ConsoleCmdAbstract 7 | { 8 | protected override string getDescription() 9 | { 10 | return "[ServerTools] - Gives experience to a player"; 11 | } 12 | 13 | protected override string getHelp() 14 | { 15 | return "Usage:\n" + 16 | " 1. st-ge \n" + 17 | "1. Gives the specified amount of experience to the id or player name\n"; 18 | } 19 | 20 | protected override string[] getCommands() 21 | { 22 | return new string[] { "st-GiveExperience", "ge", "st-ge" }; 23 | } 24 | 25 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 26 | { 27 | try 28 | { 29 | if (_params.Count != 2) 30 | { 31 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 2, found '{0}'", _params.Count)); 32 | return; 33 | } 34 | ClientInfo cInfo = GeneralOperations.GetClientInfoFromNameOrId(_params[0]); 35 | if (cInfo != null) 36 | { 37 | if (!int.TryParse(_params[1], out int experience)) 38 | { 39 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Invalid integer '{0}'", _params[1])); 40 | return; 41 | } 42 | NetPackageEntityAddExpClient package = NetPackageManager.GetPackage().Setup(cInfo.entityId, experience, Progression.XPTypes.Kill); 43 | SingletonMonoBehaviour.Instance.SendPackage(package, false, cInfo.entityId, -1, -1, -1); 44 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Added '{0}' experience to player '{1}' '{2}' named {3}", experience, cInfo.PlatformId.CombinedString, cInfo.CrossplatformId.CombinedString, cInfo.playerName)); 45 | return; 46 | } 47 | else 48 | { 49 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Unable to locate online player: {0}", _params[0])); 50 | return; 51 | } 52 | } 53 | catch (Exception e) 54 | { 55 | Log.Out(string.Format("[SERVERTOOLS] Error in GiveExpConsole.Execute: {0}", e.Message)); 56 | } 57 | } 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/CSS/auctionstyles.css: -------------------------------------------------------------------------------- 1 | :root 2 | { 3 | font-family:"seven_days_later"; 4 | background:linear-gradient(to bottom right,rgba(0,0,0,.70),rgba(0,0,0,1)) fixed; 5 | } 6 | 7 | @font-face 8 | { 9 | font-family:"seven_days_later"; 10 | src:url(../Font/7DaysLater.woff2) format("woff2"); 11 | font-display:swap; 12 | } 13 | 14 | @font-face 15 | { 16 | font-family:"morgan_chalk"; 17 | src:url(../Font/MorganChalk.woff) format("woff"); 18 | font-display:swap; 19 | } 20 | 21 | #Header 22 | { 23 | position:absolute; 24 | width:100%; 25 | height:20%; 26 | } 27 | 28 | #SubheaderLeft 29 | { 30 | position:relative; 31 | width:40%; 32 | height:60%; 33 | float:left; 34 | text-align:left; 35 | color:#FFF; 36 | } 37 | 38 | #SubheaderRight 39 | { 40 | position:relative; 41 | width:50%; 42 | height:80%; 43 | float:right; 44 | text-align:center; 45 | color:#FFF; 46 | } 47 | 48 | #GeneralBody 49 | { 50 | position:absolute; 51 | width:100%; 52 | height:100%; 53 | margin:60; 54 | padding:0; 55 | overflow:hidden; 56 | } 57 | 58 | #SecuritySync { 59 | text-align:center; 60 | z-index:3; 61 | } 62 | 63 | #SecurityId 64 | { 65 | text-align:center; 66 | color:#FFF; 67 | } 68 | 69 | #Balance 70 | { 71 | padding:50px; 72 | display:inline; 73 | } 74 | 75 | #Price 76 | { 77 | padding:30px; 78 | display:inline; 79 | } 80 | 81 | #ItemInfo { 82 | height:auto; 83 | width:50%; 84 | top:30px; 85 | padding-left:20px; 86 | text-decoration:underline; 87 | color:#FFF; 88 | } 89 | 90 | #SearchContainer { 91 | position:relative; 92 | width:30%; 93 | padding:20px; 94 | } 95 | 96 | #FilterHeader { 97 | position:relative; 98 | text-decoration:underline; 99 | color:#FFF; 100 | } 101 | 102 | #SearchFilter 103 | { 104 | padding-left:20px; 105 | } 106 | 107 | #ContentContainer { 108 | position:relative; 109 | padding-top:10px; 110 | display:inline; 111 | } 112 | 113 | #AuctionName { 114 | padding-left:20px; 115 | } 116 | 117 | #InfoContainer 118 | { 119 | height:300px; 120 | width:170px; 121 | padding-left:20px; 122 | color:#FFF; 123 | font-size:16px; 124 | float:left; 125 | } 126 | 127 | .IconContainer { 128 | height:160px; 129 | width:100px; 130 | top:30px; 131 | padding:10px; 132 | float:left; 133 | } 134 | 135 | .Icon 136 | { 137 | margin:30px; 138 | height:80px; 139 | width:80px; 140 | } 141 | 142 | .ItemHeader 143 | { 144 | bottom:0px; 145 | height:20%; 146 | width:97%; 147 | color:#FFF; 148 | font-size:16px; 149 | } 150 | 151 | .Buttons 152 | { 153 | color:#FFF; 154 | background-color:#AB1700; 155 | margin-top:10px; 156 | border:1px solid #FFF; 157 | border-radius:5px; 158 | } -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/RemoveBedrolls.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace ServerTools 8 | { 9 | class RemoveBedrolls : ConsoleCmdAbstract 10 | { 11 | protected override string getDescription() 12 | { 13 | return "[ServerTools] - Remove the bedrolls of a player while they are online."; 14 | } 15 | protected override string getHelp() 16 | { 17 | return "Usage:\n" + 18 | " 1. st-rb \n" + 19 | "1. Remove all bedrolls for the specified player. Player must be online\n"; 20 | } 21 | protected override string[] getCommands() 22 | { 23 | return new string[] { "st-RemoveBedrolls", "rb", "st-rb" }; 24 | } 25 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 26 | { 27 | try 28 | { 29 | if (_params.Count != 1) 30 | { 31 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 1, found {0}", _params.Count)); 32 | return; 33 | } 34 | else 35 | { 36 | ClientInfo cInfo = GeneralOperations.GetClientInfoFromNameOrId(_params[0]); 37 | if (cInfo != null && cInfo.loginDone && !GameEventManager.GameEventSequences.ContainsKey("action_remove_bedrolls")) 38 | { 39 | EntityPlayer player = GeneralOperations.GetEntityPlayer(cInfo.entityId); 40 | if (player != null) 41 | { 42 | Log.Out("[SERVERTOOLS] Unable to find player data for id '{0}'", _params[0]); 43 | return; 44 | } 45 | GameEventManager.Current.HandleAction("action_remove_bedrolls", null, player, false); 46 | cInfo.SendPackage(NetPackageManager.GetPackage().Setup("action_remove_bedrolls", cInfo.entityId, "", "", NetPackageGameEventResponse.ResponseTypes.Approved)); 47 | } 48 | else 49 | { 50 | Log.Out("[SERVERTOOLS] Unable to find player data for id '{0}'", _params[0]); 51 | } 52 | } 53 | } 54 | catch (Exception e) 55 | { 56 | Log.Out(string.Format("[SERVERTOOLS] Error in RemoveBedrolls.Execute: {0}", e.Message)); 57 | } 58 | } 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /ServerTools/src/Tools/OversizedTraps/OversizedTraps.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Text; 4 | 5 | namespace ServerTools 6 | { 7 | class OversizedTraps 8 | { 9 | public static bool IsEnabled = false, IsRunning = false; 10 | 11 | public static void CreateXPath() 12 | { 13 | if (!string.IsNullOrEmpty(GeneralOperations.XPathDir)) 14 | { 15 | if (!File.Exists(GeneralOperations.XPathDir + "blocks.xml")) 16 | { 17 | using (StreamWriter sw = new StreamWriter(GeneralOperations.XPathDir + "blocks.xml", false, Encoding.UTF8)) 18 | { 19 | sw.WriteLine(""); 20 | sw.WriteLine(); 21 | sw.WriteLine(""); 22 | sw.WriteLine(" "); 23 | sw.WriteLine(""); 24 | sw.WriteLine(); 25 | sw.WriteLine("3,2,4"); 26 | sw.WriteLine(); 27 | sw.WriteLine("5,1,5"); 28 | sw.WriteLine(); 29 | sw.WriteLine(""); 30 | sw.WriteLine(" "); 31 | sw.WriteLine(""); 32 | sw.WriteLine(); 33 | sw.WriteLine(""); 34 | sw.Flush(); 35 | sw.Close(); 36 | } 37 | Log.Out(string.Format("[SERVERTOOLS] Oversized_Traps has created a file named blocks.xml upon activation. This will only take affect after the server restarts")); 38 | } 39 | } 40 | IsRunning = true; 41 | } 42 | 43 | public static void RemoveXPath() 44 | { 45 | if (!string.IsNullOrEmpty(GeneralOperations.XPathDir)) 46 | { 47 | if (File.Exists(GeneralOperations.XPathDir + "blocks.xml")) 48 | { 49 | File.Delete(GeneralOperations.XPathDir + "blocks.xml"); 50 | Log.Out(string.Format("[SERVERTOOLS] Oversized_Traps has deleted a file named blocks.xml upon deactivation. This will only take affect after the server restarts")); 51 | } 52 | } 53 | IsRunning = false; 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/SetDeaths.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ServerTools 5 | { 6 | class SetDeathsConsole : ConsoleCmdAbstract 7 | { 8 | protected override string getDescription() 9 | { 10 | return "[ServerTools] - Set the value of deaths for the specified player"; 11 | } 12 | 13 | protected override string getHelp() 14 | { 15 | return "Usage:\n" + 16 | " 1. st-deaths \n" + 17 | "1. Sets the value of deaths\n"; 18 | } 19 | 20 | protected override string[] getCommands() 21 | { 22 | return new string[] { "st-SetDeaths", "deaths", "st-deaths" }; 23 | } 24 | 25 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 26 | { 27 | try 28 | { 29 | if (_params.Count != 2) 30 | { 31 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 2, found '{0}'", _params.Count)); 32 | return; 33 | } 34 | if (!int.TryParse(_params[1], out int value)) 35 | { 36 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Invalid value '{0}'", _params[1])); 37 | return; 38 | } 39 | ClientInfo cInfo = GeneralOperations.GetClientInfoFromNameOrId(_params[0]); 40 | if (cInfo != null) 41 | { 42 | EntityPlayer player = GeneralOperations.GetEntityPlayer(cInfo.entityId); 43 | if (player != null) 44 | { 45 | player.Died = value; 46 | player.bPlayerStatsChanged = true; 47 | cInfo.SendPackage(NetPackageManager.GetPackage().Setup(player)); 48 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Deaths for Id '{0}' '{1}' named '{2}' has been set to '{3}'", cInfo.PlatformId.CombinedString, cInfo.CrossplatformId.CombinedString, cInfo.playerName, value)); 49 | return; 50 | } 51 | } 52 | else 53 | { 54 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Player '{0}' not found", _params[0])); 55 | return; 56 | } 57 | } 58 | catch (Exception e) 59 | { 60 | Log.Out(string.Format("[SERVERTOOLS] Error in SetDeathsConsole.Execute: {0}", e.Message)); 61 | } 62 | } 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/SetPlayerKillsConsole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ServerTools 5 | { 6 | class SetPlayerKillsConsole : ConsoleCmdAbstract 7 | { 8 | protected override string getDescription() 9 | { 10 | return "[ServerTools] - Set the value of player kills for the specified player"; 11 | } 12 | 13 | protected override string getHelp() 14 | { 15 | return "Usage:\n" + 16 | " 1. st-spk \n" + 17 | "1. Sets the value of player kills\n"; 18 | } 19 | 20 | protected override string[] getCommands() 21 | { 22 | return new string[] { "st-SetPlayerKills", "spk", "st-spk" }; 23 | } 24 | 25 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 26 | { 27 | try 28 | { 29 | if (_params.Count != 2) 30 | { 31 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 2, found '{0}'", _params.Count)); 32 | return; 33 | } 34 | if (!int.TryParse(_params[1], out int value)) 35 | { 36 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Invalid value '{0}'", _params[1])); 37 | return; 38 | } 39 | ClientInfo cInfo = GeneralOperations.GetClientInfoFromNameOrId(_params[0]); 40 | if (cInfo != null) 41 | { 42 | EntityPlayer player = GeneralOperations.GetEntityPlayer(cInfo.entityId); 43 | if (player != null) 44 | { 45 | player.KilledPlayers = value; 46 | player.bPlayerStatsChanged = true; 47 | cInfo.SendPackage(NetPackageManager.GetPackage().Setup(player)); 48 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Player kills for Id '{0}' '{1}' named '{2}' has been set to '{3}'", cInfo.PlatformId.CombinedString, cInfo.CrossplatformId.CombinedString, cInfo.playerName, value)); 49 | return; 50 | } 51 | } 52 | else 53 | { 54 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Player '{0}' not found", _params[0])); 55 | return; 56 | } 57 | } 58 | catch (Exception e) 59 | { 60 | Log.Out(string.Format("[SERVERTOOLS] Error in SetPlayerKillsConsole.Execute: {0}", e.Message)); 61 | } 62 | } 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/SetZombieKillsConsole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ServerTools 5 | { 6 | class SetZombieKillsConsole : ConsoleCmdAbstract 7 | { 8 | protected override string getDescription() 9 | { 10 | return "[ServerTools] - Set the value of zombie kills for the specified player"; 11 | } 12 | 13 | protected override string getHelp() 14 | { 15 | return "Usage:\n" + 16 | " 1. st-szk \n" + 17 | "1. Sets the value of zombie kills\n"; 18 | } 19 | 20 | protected override string[] getCommands() 21 | { 22 | return new string[] { "st-SetZombieKills", "szk", "st-szk" }; 23 | } 24 | 25 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 26 | { 27 | try 28 | { 29 | if (_params.Count != 2) 30 | { 31 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 2, found '{0}'", _params.Count)); 32 | return; 33 | } 34 | if (!int.TryParse(_params[1], out int value)) 35 | { 36 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Invalid value '{0}'", _params[1])); 37 | return; 38 | } 39 | ClientInfo cInfo = GeneralOperations.GetClientInfoFromNameOrId(_params[0]); 40 | if (cInfo != null) 41 | { 42 | EntityPlayer player = GeneralOperations.GetEntityPlayer(cInfo.entityId); 43 | if (player != null) 44 | { 45 | player.KilledZombies = value; 46 | player.bPlayerStatsChanged = true; 47 | cInfo.SendPackage(NetPackageManager.GetPackage().Setup(player)); 48 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Zombie kills for Id '{0}' '{1}' named '{2}' has been set to '{3}'", cInfo.PlatformId.CombinedString, cInfo.CrossplatformId.CombinedString, cInfo.playerName, value)); 49 | return; 50 | } 51 | } 52 | else 53 | { 54 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Player '{0}' not found", _params[0])); 55 | return; 56 | } 57 | } 58 | catch (Exception e) 59 | { 60 | Log.Out(string.Format("[SERVERTOOLS] Error in SetZombieKillsConsole.Execute: {0}", e.Message)); 61 | } 62 | } 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/auction.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | Auction 18 | 19 | 20 | 35 |
36 |

Security Id

37 | 38 | 39 | 40 |
41 |
42 |
43 |

Filter

44 | 45 | 46 | 52 |
53 |
54 |

ITEM INFO

55 |
56 | ... 57 |
58 |
59 | 60 |
61 |
62 |
63 | 64 | -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/SecureVehicleAccessConsole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ServerTools 5 | { 6 | class SecureVehicleAccessConsole : ConsoleCmdAbstract 7 | { 8 | protected override string getDescription() 9 | { 10 | return "[ServerTools] - Attempts to set access to all secure vehicle."; 11 | } 12 | 13 | protected override string getHelp() 14 | { 15 | return "Usage:\n" + 16 | " 1. st-sva\n" + 17 | "1. Attempts to set access to all secure vehicle\n"; 18 | } 19 | 20 | protected override string[] getCommands() 21 | { 22 | return new string[] { "st-SecureVehicleAccess", "sva", "st-sva" }; 23 | } 24 | 25 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 26 | { 27 | try 28 | { 29 | if (_params.Count != 1) 30 | { 31 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 1, found '{0}'", _params.Count)); 32 | return; 33 | } 34 | if (!string.IsNullOrEmpty(_senderInfo.RemoteClientInfo.CrossplatformId.CombinedString)) 35 | { 36 | List Entities = GameManager.Instance.World.Entities.list; 37 | if (Entities != null) 38 | { 39 | for (int i = 0; i < Entities.Count; i++) 40 | { 41 | Entity entity = Entities[i]; 42 | if (entity != null && entity is EntityVehicle) 43 | { 44 | EntityVehicle vehicle = entity as EntityVehicle; 45 | if (!vehicle.IsUserAllowed(_senderInfo.RemoteClientInfo.CrossplatformId)) 46 | { 47 | List users = vehicle.GetUsers(); 48 | users.Add(_senderInfo.RemoteClientInfo.CrossplatformId); 49 | vehicle.bPlayerStatsChanged = true; 50 | } 51 | } 52 | } 53 | } 54 | } 55 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Vehicle access set for '{0}' in loaded areas. Unloaded areas are unchanged", _senderInfo.RemoteClientInfo.CrossplatformId.CombinedString)); 56 | } 57 | catch (Exception e) 58 | { 59 | Log.Out(string.Format("[SERVERTOOLS] Error in SecureVehicleAccess.Execute: {0}", e.Message)); 60 | } 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /ServerTools/src/Tools/BlockPickup/BlockPickup.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace ServerTools 4 | { 5 | class BlockPickup 6 | { 7 | public static bool IsEnabled = false, Admin_Only = false, Reserved = false; 8 | public static int Admin_Level = 0; 9 | public static string Command_pickup = "pickup"; 10 | 11 | public static List PickupEnabled = new List(); 12 | 13 | public static void Exec(ClientInfo _cInfo) 14 | { 15 | if (Admin_Only && GameManager.Instance.adminTools.Users.GetUserPermissionLevel(_cInfo.PlatformId) > Admin_Level && 16 | GameManager.Instance.adminTools.Users.GetUserPermissionLevel(_cInfo.CrossplatformId) > Admin_Level) 17 | { 18 | return; 19 | } 20 | if (Reserved) 21 | { 22 | if (ReservedSlots.Dict.ContainsKey(_cInfo.PlatformId.CombinedString) || ReservedSlots.Dict.ContainsKey(_cInfo.CrossplatformId.CombinedString)) 23 | { 24 | if (!PickupEnabled.Contains(_cInfo.entityId)) 25 | { 26 | PickupEnabled.Add(_cInfo.entityId); 27 | Phrases.Dict.TryGetValue("Pickup1", out string phrase); 28 | ChatHook.ChatMessage(_cInfo, Config.Chat_Response_Color + phrase + "[-]", -1, Config.Server_Response_Name, EChatType.Whisper, null); 29 | } 30 | else 31 | { 32 | PickupEnabled.Remove(_cInfo.entityId); 33 | Phrases.Dict.TryGetValue("Pickup2", out string phrase); 34 | ChatHook.ChatMessage(_cInfo, Config.Chat_Response_Color + phrase + "[-]", -1, Config.Server_Response_Name, EChatType.Whisper, null); 35 | } 36 | } 37 | else 38 | { 39 | Phrases.Dict.TryGetValue("Pickup3", out string phrase); 40 | ChatHook.ChatMessage(_cInfo, Config.Chat_Response_Color + phrase + "[-]", -1, Config.Server_Response_Name, EChatType.Whisper, null); 41 | } 42 | } 43 | else if (!PickupEnabled.Contains(_cInfo.entityId)) 44 | { 45 | PickupEnabled.Add(_cInfo.entityId); 46 | Phrases.Dict.TryGetValue("Pickup1", out string phrase); 47 | ChatHook.ChatMessage(_cInfo, Config.Chat_Response_Color + phrase + "[-]", -1, Config.Server_Response_Name, EChatType.Whisper, null); 48 | } 49 | else 50 | { 51 | PickupEnabled.Remove(_cInfo.entityId); 52 | Phrases.Dict.TryGetValue("Pickup2", out string phrase); 53 | ChatHook.ChatMessage(_cInfo, Config.Chat_Response_Color + phrase + "[-]", -1, Config.Server_Response_Name, EChatType.Whisper, null); 54 | } 55 | } 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /bin/Mods/ServerTools/WebAPI/imap.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | Interactive Map 13 | 14 | 15 | 16 | 17 |
18 |
19 |
20 |

X =

21 |

0

22 |

Y =

23 |

0

24 |
25 |
26 | 27 |

X =

28 |

0

29 |

Y =

30 |

0

31 |
32 |
33 |

Region File =

34 |

r.0.0.7rg

35 |
36 |
37 | 38 | 39 | 40 |
41 | 42 | 43 | 44 |
45 |
46 |
47 |
48 | +++ 49 |
50 |
51 |
52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 |
80 |
81 |
82 |
83 | ^V^ 84 |
85 |
86 | 87 |
88 |
89 |
90 |
91 | 92 |
93 |
94 | -------------------------------------------------------------------------------- /ServerTools/src/Tools/AutoRestart/AutoRestart.cs: -------------------------------------------------------------------------------- 1 | using Platform; 2 | using System; 3 | using System.Diagnostics; 4 | using System.IO; 5 | using System.Text; 6 | using UnityEngine; 7 | 8 | namespace ServerTools 9 | { 10 | class AutoRestart 11 | { 12 | public static bool IsEnabled = false; 13 | 14 | public static void Exec() 15 | { 16 | Log.Out(string.Format("[SERVERTOOLS] Auto restart initialized")); 17 | string[] commandLineArgs = Environment.GetCommandLineArgs(); 18 | string text = commandLineArgs[0]; 19 | IAntiCheatClient antiCheatClient = PlatformManager.MultiPlatform.AntiCheatClient; 20 | if (antiCheatClient != null && antiCheatClient.ClientAntiCheatEnabled()) 21 | { 22 | RuntimePlatform platform = Application.platform; 23 | if (((int)platform) != 1) 24 | { 25 | if ((int)platform != 2) 26 | { 27 | if ((int)platform != 13) 28 | { 29 | Log.Error(string.Format("[SERVERTOOLS] Restarting the game is not supported on this platform '{0}'", Application.platform)); 30 | return; 31 | } 32 | text = Path.GetDirectoryName(text); 33 | text = ((text.Length > 0) ? (text + "/") : "") + "7DaysToDie_EAC"; 34 | } 35 | else 36 | { 37 | text = Path.GetDirectoryName(text); 38 | text = ((text.Length > 0) ? (text + "/") : "") + "7DaysToDie_EAC.exe"; 39 | } 40 | } 41 | else 42 | { 43 | text = Path.GetDirectoryName(text); 44 | text = ((text.Length > 0) ? (text + "/") : "") + "7DaysToDie_EAC"; 45 | } 46 | } 47 | StringBuilder stringBuilder = new StringBuilder(); 48 | for (int i = 1; i < commandLineArgs.Length; i++) 49 | { 50 | if (i > 1) 51 | { 52 | stringBuilder.Append(' '); 53 | } 54 | string text2 = commandLineArgs[i]; 55 | if (text2.IndexOf(' ') >= 0) 56 | { 57 | stringBuilder.Append('"'); 58 | stringBuilder.Append(text2); 59 | stringBuilder.Append('"'); 60 | } 61 | else 62 | { 63 | stringBuilder.Append(text2); 64 | } 65 | } 66 | Process.Start(new ProcessStartInfo(text) 67 | { 68 | UseShellExecute = true, 69 | WorkingDirectory = Directory.GetCurrentDirectory(), 70 | Arguments = stringBuilder.ToString() 71 | }); 72 | //Application.Quit(); 73 | } 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /ServerTools/src/AntiCheat/MagicBullet/MagicBullet.cs: -------------------------------------------------------------------------------- 1 | using HarmonyLib; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.IO; 5 | using System.Text; 6 | 7 | namespace ServerTools 8 | { 9 | class MagicBullet 10 | { 11 | public static bool IsEnabled = false; 12 | public static List Kill = new List(); 13 | 14 | public static AccessTools.FieldRef entityId = AccessTools.FieldRefAccess("entityId"); 15 | public static AccessTools.FieldRef playerKills = AccessTools.FieldRefAccess("playerKills"); 16 | 17 | private static string file = string.Format("DetectionLog_{0}.txt", DateTime.Today.ToString("M-d-yyyy")); 18 | private static string Filepath = string.Format("{0}/Logs/DetectionLogs/{1}", API.ConfigPath, file); 19 | 20 | public static bool Exec(NetPackageEntityAddScoreServer _instance) 21 | { 22 | try 23 | { 24 | if (_instance.Sender.entityId == entityId(_instance) && playerKills(_instance) == 1 && !Kill.Contains(entityId(_instance))) 25 | { 26 | ClientInfo cInfo = GeneralOperations.GetClientInfoFromEntityId(entityId(_instance)); 27 | if (cInfo != null) 28 | { 29 | Phrases.Dict.TryGetValue("MagicBullet1", out string phrase); 30 | SdtdConsole.Instance.ExecuteSync(string.Format("ban add {0} 5 years \"{1}\"", cInfo.CrossplatformId.CombinedString, phrase), null); 31 | using (StreamWriter sw = new StreamWriter(Filepath, true, Encoding.UTF8)) 32 | { 33 | sw.WriteLine(string.Format("Detected Id '{0}' '{1}' named '{2}' running magic bullet hack", cInfo.PlatformId.CombinedString, cInfo.CrossplatformId.CombinedString, cInfo.playerName)); 34 | sw.WriteLine(); 35 | sw.Flush(); 36 | sw.Close(); 37 | } 38 | Log.Warning("[SERVERTOOLS] Detected Id '{0}' '{1}' named '{2}' running magic bullet hack. They have been banned", cInfo.PlatformId.CombinedString, cInfo.CrossplatformId.CombinedString, cInfo.playerName); 39 | Phrases.Dict.TryGetValue("MagicBullet2", out phrase); 40 | phrase = phrase.Replace("{PlayerName}", cInfo.playerName); 41 | ChatHook.ChatMessage(null, Config.Chat_Response_Color + phrase + "[-]", -1, Config.Server_Response_Name, EChatType.Global, null); 42 | return true; 43 | } 44 | } 45 | } 46 | catch (Exception e) 47 | { 48 | Log.Out(string.Format("[SERVERTOOLS] Error in MagicBullet.Exec: {0}", e.Message)); 49 | } 50 | return false; 51 | } 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/RemoveItemAdminConsole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ServerTools 5 | { 6 | class RemoveItemAdminConsole : ConsoleCmdAbstract 7 | { 8 | protected override string getDescription() 9 | { 10 | return "[ServerTools] - Removes an online player's items marked with the tag admin"; 11 | } 12 | 13 | protected override string getHelp() 14 | { 15 | return "Removes all items from a online player that has the tag admin in Items.xml\n" + 16 | "Usage: st-ria \n"; 17 | } 18 | 19 | protected override string[] getCommands() 20 | { 21 | return new string[] { "st-RemoveItemAdmin", "ria", "st-ria" }; 22 | } 23 | 24 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 25 | { 26 | try 27 | { 28 | if (_params.Count != 1) 29 | { 30 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 1, found '{0}'", _params.Count)); 31 | return; 32 | } 33 | ClientInfo cInfo = GeneralOperations.GetClientInfoFromNameOrId(_params[0]); 34 | if (cInfo != null) 35 | { 36 | EntityPlayer player = GeneralOperations.GetEntityPlayer(cInfo.entityId); 37 | if (player != null) 38 | { 39 | if (GameEventManager.GameEventSequences.ContainsKey("action_admin")) 40 | { 41 | GameEventManager.Current.HandleAction("action_admin", null, player, false, ""); 42 | cInfo.SendPackage(NetPackageManager.GetPackage().Setup("action_admin", cInfo.entityId, "", "", NetPackageGameEventResponse.ResponseTypes.Approved)); 43 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Removed all items tagged admin from inventory and backpack of player '{0}'", cInfo.CrossplatformId.CombinedString)); 44 | return; 45 | } 46 | else 47 | { 48 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Unable to locate action_admin in the game events list")); 49 | return; 50 | } 51 | } 52 | } 53 | else 54 | { 55 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Unable to locate '{0}' online", _params[0])); 56 | return; 57 | } 58 | } 59 | catch (Exception e) 60 | { 61 | Log.Out(string.Format("[SERVERTOOLS] Error in RemoveItemAdminConsole.Execute: {0}", e.Message)); 62 | } 63 | } 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/StuckConsole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ServerTools 5 | { 6 | class StuckConsole : ConsoleCmdAbstract 7 | { 8 | protected override string getDescription() 9 | { 10 | return "[ServerTools] - Enable or disable stuck."; 11 | } 12 | protected override string getHelp() 13 | { 14 | return "Usage:\n" + 15 | " 1. st-stk off\n" + 16 | " 2. st-stk on\n" + 17 | "1. Turn off stuck\n" + 18 | "2. Turn on stuck\n"; 19 | } 20 | protected override string[] getCommands() 21 | { 22 | return new string[] { "st-Stuck", "stk", "st-stk" }; 23 | } 24 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 25 | { 26 | try 27 | { 28 | if (_params.Count != 1) 29 | { 30 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 1, found '{0}'", _params.Count)); 31 | return; 32 | } 33 | if (_params[0].ToLower().Equals("off")) 34 | { 35 | if (Stuck.IsEnabled) 36 | { 37 | Stuck.IsEnabled = false; 38 | Config.WriteXml(); 39 | Config.LoadXml(); 40 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Stuck has been set to off")); 41 | return; 42 | } 43 | else 44 | { 45 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Stuck is already off")); 46 | return; 47 | } 48 | } 49 | else if (_params[0].ToLower().Equals("on")) 50 | { 51 | if (!Stuck.IsEnabled) 52 | { 53 | Stuck.IsEnabled = true; 54 | Config.WriteXml(); 55 | Config.LoadXml(); 56 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Stuck has been set to on")); 57 | return; 58 | } 59 | else 60 | { 61 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Stuck is already on")); 62 | return; 63 | } 64 | } 65 | else 66 | { 67 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Invalid argument '{0}'", _params[0])); 68 | } 69 | } 70 | catch (Exception e) 71 | { 72 | Log.Out(string.Format("[SERVERTOOLS] Error in StuckConsole.Execute: {0}", e.Message)); 73 | } 74 | } 75 | } 76 | } -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/MotdConsole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ServerTools 5 | { 6 | class MotdConsole : ConsoleCmdAbstract 7 | { 8 | protected override string getDescription() 9 | { 10 | return "[ServerTools] - Enable or disable motd(messsage of the day)."; 11 | } 12 | protected override string getHelp() 13 | { 14 | return "Usage:\n" + 15 | " 1. st-md off\n" + 16 | " 2. st-md on\n" + 17 | "1. Turn off the motd\n" + 18 | "2. Turn on the motd\n"; 19 | } 20 | protected override string[] getCommands() 21 | { 22 | return new string[] { "st-Motd", "md", "st-md" }; 23 | } 24 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 25 | { 26 | try 27 | { 28 | if (_params.Count != 1) 29 | { 30 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 1, found '{0}'", _params.Count)); 31 | return; 32 | } 33 | if (_params[0].ToLower().Equals("off")) 34 | { 35 | if (Motd.IsEnabled) 36 | { 37 | Motd.IsEnabled = false; 38 | Config.WriteXml(); 39 | Config.LoadXml(); 40 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Motd has been set to off")); 41 | return; 42 | } 43 | else 44 | { 45 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Motd is already off")); 46 | return; 47 | } 48 | } 49 | else if (_params[0].ToLower().Equals("on")) 50 | { 51 | if (!Motd.IsEnabled) 52 | { 53 | Motd.IsEnabled = true; 54 | Config.WriteXml(); 55 | Config.LoadXml(); 56 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Motd has been set to on")); 57 | return; 58 | } 59 | else 60 | { 61 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Motd is already on")); 62 | return; 63 | } 64 | } 65 | else 66 | { 67 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Invalid argument '{0}'", _params[0])); 68 | } 69 | } 70 | catch (Exception e) 71 | { 72 | Log.Out(string.Format("[SERVERTOOLS] Error in MotdConsole.Execute: {0}", e.Message)); 73 | } 74 | } 75 | } 76 | } -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/ReportConsole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ServerTools 5 | { 6 | class ReportConsole : ConsoleCmdAbstract 7 | { 8 | protected override string getDescription() 9 | { 10 | return "[ServerTools] - Enable or disable report."; 11 | } 12 | protected override string getHelp() 13 | { 14 | return "Usage:\n" + 15 | " 1. st-rpt off\n" + 16 | " 2. st-rpt on\n" + 17 | "1. Turn off report\n" + 18 | "2. Turn on report\n"; 19 | } 20 | protected override string[] getCommands() 21 | { 22 | return new string[] { "st-Report", "rpt", "st-rpt" }; 23 | } 24 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 25 | { 26 | try 27 | { 28 | if (_params.Count != 1) 29 | { 30 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 1, found '{0}'", _params.Count)); 31 | return; 32 | } 33 | if (_params[0].ToLower().Equals("off")) 34 | { 35 | if (Report.IsEnabled) 36 | { 37 | Report.IsEnabled = false; 38 | Config.WriteXml(); 39 | Config.LoadXml(); 40 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Report has been set to off")); 41 | return; 42 | } 43 | else 44 | { 45 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Report is already off")); 46 | return; 47 | } 48 | } 49 | else if (_params[0].ToLower().Equals("on")) 50 | { 51 | if (!Report.IsEnabled) 52 | { 53 | Report.IsEnabled = true; 54 | Config.WriteXml(); 55 | Config.LoadXml(); 56 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Report has been set to on")); 57 | return; 58 | } 59 | else 60 | { 61 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Report is already on")); 62 | return; 63 | } 64 | } 65 | else 66 | { 67 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Invalid argument '{0}'", _params[0])); 68 | } 69 | } 70 | catch (Exception e) 71 | { 72 | Log.Out(string.Format("[SERVERTOOLS] Error in ReportConsole.Execute: {0}", e.Message)); 73 | } 74 | } 75 | } 76 | } -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/TravelConsole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ServerTools 5 | { 6 | class TravelConsole : ConsoleCmdAbstract 7 | { 8 | protected override string getDescription() 9 | { 10 | return "[ServerTools] - Enable or disable Travel."; 11 | } 12 | protected override string getHelp() 13 | { 14 | return "Usage:\n" + 15 | " 1. st-tvl off\n" + 16 | " 2. st-tvl on\n" + 17 | "1. Turn off Travel\n" + 18 | "2. Turn on Travel\n"; 19 | } 20 | protected override string[] getCommands() 21 | { 22 | return new string[] { "st-Travel", "tvl", "st-tvl" }; 23 | } 24 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 25 | { 26 | try 27 | { 28 | if (_params.Count != 1) 29 | { 30 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 1, found '{0}'", _params.Count)); 31 | return; 32 | } 33 | if (_params[0].ToLower().Equals("off")) 34 | { 35 | if (Travel.IsEnabled) 36 | { 37 | Travel.IsEnabled = false; 38 | Config.WriteXml(); 39 | Config.LoadXml(); 40 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Travel has been set to off")); 41 | return; 42 | } 43 | else 44 | { 45 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Travel is already off")); 46 | return; 47 | } 48 | } 49 | else if (_params[0].ToLower().Equals("on")) 50 | { 51 | if (!Travel.IsEnabled) 52 | { 53 | Travel.IsEnabled = true; 54 | Config.WriteXml(); 55 | Config.LoadXml(); 56 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Travel has been set to on")); 57 | return; 58 | } 59 | else 60 | { 61 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Travel is already on")); 62 | return; 63 | } 64 | } 65 | else 66 | { 67 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Invalid argument '{0}'", _params[0])); 68 | } 69 | } 70 | catch (Exception e) 71 | { 72 | Log.Out(string.Format("[SERVERTOOLS] Error in TravelConsole.Execute: {0}", e.Message)); 73 | } 74 | } 75 | } 76 | } -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/BloodmoonConsole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ServerTools 5 | { 6 | class BloodmoonConsole : ConsoleCmdAbstract 7 | { 8 | protected override string getDescription() 9 | { 10 | return "[ServerTools] - Enable or disable bloodmoon alert."; 11 | } 12 | protected override string getHelp() 13 | { 14 | return "Usage:\n" + 15 | " 1. st-bm off\n" + 16 | " 2. st-bm on\n" + 17 | "1. Turn off the bloodmoon alert\n" + 18 | "2. Turn on the bloodmoon alert\n"; 19 | } 20 | protected override string[] getCommands() 21 | { 22 | return new string[] { "st-Bloodmoon", "bm", "st-bm" }; 23 | } 24 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 25 | { 26 | try 27 | { 28 | if (_params.Count != 1) 29 | { 30 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 1, found {0}", _params.Count)); 31 | return; 32 | } 33 | if (_params[0].ToLower().Equals("off")) 34 | { 35 | if (Bloodmoon.IsEnabled) 36 | { 37 | Bloodmoon.IsEnabled = false; 38 | Config.WriteXml(); 39 | Config.LoadXml(); 40 | SdtdConsole.Instance.Output("[SERVERTOOLS] Bloodmoon has been set to off"); 41 | return; 42 | } 43 | else 44 | { 45 | SdtdConsole.Instance.Output("[SERVERTOOLS] Bloodmoon is already off"); 46 | return; 47 | } 48 | } 49 | else if (_params[0].ToLower().Equals("on")) 50 | { 51 | if (!Bloodmoon.IsEnabled) 52 | { 53 | Bloodmoon.IsEnabled = true; 54 | Config.WriteXml(); 55 | Config.LoadXml(); 56 | SdtdConsole.Instance.Output("[SERVERTOOLS] Bloodmoon has been set to on"); 57 | return; 58 | } 59 | else 60 | { 61 | SdtdConsole.Instance.Output("[SERVERTOOLS] Bloodmoon is already on"); 62 | return; 63 | } 64 | } 65 | else 66 | { 67 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Invalid argument {0}", _params[0])); 68 | } 69 | } 70 | catch (Exception e) 71 | { 72 | Log.Out(string.Format("[SERVERTOOLS] Error in BloodmoonConsole.Execute: {0}", e.Message)); 73 | } 74 | } 75 | } 76 | } -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/PrayerConsole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ServerTools 5 | { 6 | class PrayerConsole : ConsoleCmdAbstract 7 | { 8 | protected override string getDescription() 9 | { 10 | return "[ServerTools] - Enable or disable prayer."; 11 | } 12 | protected override string getHelp() 13 | { 14 | return "Usage:\n" + 15 | " 1. st-pray off\n" + 16 | " 2. st-pray on\n" + 17 | "1. Turn off prayer\n" + 18 | "2. Turn on prayer\n"; 19 | } 20 | protected override string[] getCommands() 21 | { 22 | return new string[] { "st-Prayer", "pray", "st-pray" }; 23 | } 24 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 25 | { 26 | try 27 | { 28 | if (_params.Count != 1) 29 | { 30 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 1, found '{0}'", _params.Count)); 31 | return; 32 | } 33 | if (_params[0].ToLower().Equals("off")) 34 | { 35 | if (Prayer.IsEnabled) 36 | { 37 | Prayer.IsEnabled = false; 38 | Config.WriteXml(); 39 | Config.LoadXml(); 40 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Prayer has been set to off")); 41 | return; 42 | } 43 | else 44 | { 45 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Prayer is already off")); 46 | return; 47 | } 48 | } 49 | else if (_params[0].ToLower().Equals("on")) 50 | { 51 | if (Prayer.IsEnabled) 52 | { 53 | Prayer.IsEnabled = true; 54 | Config.WriteXml(); 55 | Config.LoadXml(); 56 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Prayer has been set to on")); 57 | return; 58 | } 59 | else 60 | { 61 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Prayer is already on")); 62 | return; 63 | } 64 | } 65 | else 66 | { 67 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Invalid argument '{0}'", _params[0])); 68 | } 69 | } 70 | catch (Exception e) 71 | { 72 | Log.Out(string.Format("[SERVERTOOLS] Error in PrayerConsole.Execute: {0}", e.Message)); 73 | } 74 | } 75 | } 76 | } -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/HordesConsole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ServerTools 5 | { 6 | class HordesConsole : ConsoleCmdAbstract 7 | { 8 | protected override string getDescription() 9 | { 10 | return "[ServerTools] - Enable or disable hordes"; 11 | } 12 | protected override string getHelp() 13 | { 14 | return "Usage:\n" + 15 | " 1. st-hrd off\n" + 16 | " 2. st-hrd on\n" + 17 | "1. Turn off extra hordes\n" + 18 | "2. Turn on extra hordes\n"; 19 | } 20 | protected override string[] getCommands() 21 | { 22 | return new string[] { "st-Hordes", "hrd", "st-hrd" }; 23 | } 24 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 25 | { 26 | try 27 | { 28 | if (_params.Count != 1) 29 | { 30 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 1, found {0}", _params.Count)); 31 | return; 32 | } 33 | if (_params[0].ToLower().Equals("off")) 34 | { 35 | if (Hordes.IsEnabled) 36 | { 37 | Hordes.IsEnabled = false; 38 | Config.WriteXml(); 39 | Config.LoadXml(); 40 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Hordes has been set to off")); 41 | return; 42 | } 43 | else 44 | { 45 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Hordes is already off")); 46 | return; 47 | } 48 | } 49 | else if (_params[0].ToLower().Equals("on")) 50 | { 51 | if (!Hordes.IsEnabled) 52 | { 53 | Hordes.IsEnabled = true; 54 | Config.WriteXml(); 55 | Config.LoadXml(); 56 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Hordes has been set to on")); 57 | return; 58 | } 59 | else 60 | { 61 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Hordes is already on")); 62 | return; 63 | } 64 | } 65 | else 66 | { 67 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Invalid argument {0}", _params[0])); 68 | } 69 | } 70 | catch (Exception e) 71 | { 72 | Log.Out(string.Format("[SERVERTOOLS] Error in HordesConsole.Execute: {0}", e.Message)); 73 | } 74 | } 75 | } 76 | } -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/DiedConsole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ServerTools 5 | { 6 | class DiedConsole : ConsoleCmdAbstract 7 | { 8 | protected override string getDescription() 9 | { 10 | return "[ServerTools] - Enable or disable death spot."; 11 | } 12 | protected override string getHelp() 13 | { 14 | return "Usage:\n" + 15 | " 1. st-ds off\n" + 16 | " 2. st-ds on\n" + 17 | "1. Turn off death spot\n" + 18 | "2. Turn on death spot\n"; 19 | } 20 | protected override string[] getCommands() 21 | { 22 | return new string[] { "st-Died", "die", "st-die" }; 23 | } 24 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 25 | { 26 | try 27 | { 28 | if (_params.Count != 1) 29 | { 30 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 1, found '{0}'", _params.Count)); 31 | return; 32 | } 33 | if (_params[0].ToLower().Equals("off")) 34 | { 35 | if (Died.IsEnabled) 36 | { 37 | Died.IsEnabled = false; 38 | Config.WriteXml(); 39 | Config.LoadXml(); 40 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Death spot has been set to off")); 41 | return; 42 | } 43 | else 44 | { 45 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Death spot is already off")); 46 | return; 47 | } 48 | } 49 | else if (_params[0].ToLower().Equals("on")) 50 | { 51 | if (!Died.IsEnabled) 52 | { 53 | Died.IsEnabled = true; 54 | Config.WriteXml(); 55 | Config.LoadXml(); 56 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Death spot has been set to on")); 57 | return; 58 | } 59 | else 60 | { 61 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Death spot is already on")); 62 | return; 63 | } 64 | } 65 | else 66 | { 67 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Invalid argument '{0}'", _params[0])); 68 | } 69 | } 70 | catch (Exception e) 71 | { 72 | Log.Out(string.Format("[SERVERTOOLS] Error in DeathSpotConsole.Execute: {0}", e.Message)); 73 | } 74 | } 75 | } 76 | } -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/LotteryConsole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ServerTools 5 | { 6 | class LotteryConsole : ConsoleCmdAbstract 7 | { 8 | protected override string getDescription() 9 | { 10 | return "[ServerTools] - Enable or disable lottery."; 11 | } 12 | protected override string getHelp() 13 | { 14 | return "Usage:\n" + 15 | " 1. st-lott off\n" + 16 | " 2. st-lott on\n" + 17 | "1. Turn off lottery\n" + 18 | "2. Turn on lottery\n"; 19 | } 20 | protected override string[] getCommands() 21 | { 22 | return new string[] { "st-Lottery", "lott", "st-lott" }; 23 | } 24 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 25 | { 26 | try 27 | { 28 | if (_params.Count != 1) 29 | { 30 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 1, found '{0}'", _params.Count)); 31 | return; 32 | } 33 | if (_params[0].ToLower().Equals("off")) 34 | { 35 | if (Lottery.IsEnabled) 36 | { 37 | Lottery.IsEnabled = false; 38 | Config.WriteXml(); 39 | Config.LoadXml(); 40 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Lottery has been set to off")); 41 | return; 42 | } 43 | else 44 | { 45 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Lottery is already off")); 46 | return; 47 | } 48 | } 49 | else if (_params[0].ToLower().Equals("on")) 50 | { 51 | if (!Lottery.IsEnabled) 52 | { 53 | Lottery.IsEnabled = true; 54 | Config.WriteXml(); 55 | Config.LoadXml(); 56 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Lottery has been set to on")); 57 | return; 58 | } 59 | else 60 | { 61 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Lottery is already on")); 62 | return; 63 | } 64 | } 65 | else 66 | { 67 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Invalid argument '{0}'", _params[0])); 68 | } 69 | } 70 | catch (Exception e) 71 | { 72 | Log.Out(string.Format("[SERVERTOOLS] Error in LotteryConsole.Execute: {0}", e.Message)); 73 | } 74 | } 75 | } 76 | } -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/ChatLoggerConsole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ServerTools 5 | { 6 | class ChatLoggerConsole : ConsoleCmdAbstract 7 | { 8 | protected override string getDescription() 9 | { 10 | return "[ServerTools] - Enable or disable chat log."; 11 | } 12 | protected override string getHelp() 13 | { 14 | return "Usage:\n" + 15 | " 1. st-cl off\n" + 16 | " 2. st-cl on\n" + 17 | "1. Turn off chat log\n" + 18 | "2. Turn on chat log\n"; 19 | } 20 | protected override string[] getCommands() 21 | { 22 | return new string[] { "st-ChatLog", "cl", "st-cl" }; 23 | } 24 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 25 | { 26 | try 27 | { 28 | if (_params.Count != 1) 29 | { 30 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 1, found {0}", _params.Count)); 31 | return; 32 | } 33 | if (_params[0].ToLower().Equals("off")) 34 | { 35 | if (ChatLog.IsEnabled) 36 | { 37 | ChatLog.IsEnabled = false; 38 | Config.WriteXml(); 39 | Config.LoadXml(); 40 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Chat log has been set to off")); 41 | return; 42 | } 43 | else 44 | { 45 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Chat log is already off")); 46 | return; 47 | } 48 | } 49 | else if (_params[0].ToLower().Equals("on")) 50 | { 51 | if (!ChatLog.IsEnabled) 52 | { 53 | ChatLog.IsEnabled = true; 54 | Config.WriteXml(); 55 | Config.LoadXml(); 56 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Chat log has been set to on")); 57 | return; 58 | } 59 | else 60 | { 61 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Chat log is already on")); 62 | return; 63 | } 64 | } 65 | else 66 | { 67 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Invalid argument {0}", _params[0])); 68 | } 69 | } 70 | catch (Exception e) 71 | { 72 | Log.Out(string.Format("[SERVERTOOLS] Error in ChatLoggerConsole.Execute: {0}", e.Message)); 73 | } 74 | } 75 | } 76 | } -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/RunGameEventConsole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ServerTools 5 | { 6 | class RunGameEventConsole : ConsoleCmdAbstract 7 | { 8 | protected override string getDescription() 9 | { 10 | return "[ServerTools] - Runs a game event on a player"; 11 | } 12 | 13 | protected override string getHelp() 14 | { 15 | return "Runs a event from the gameevent.xml on the specific player\n" + 16 | "Usage: st-rge \n" + 17 | "*Note* this may not work correctly with all events. It is programmed in a generic form\n"; 18 | } 19 | 20 | protected override string[] getCommands() 21 | { 22 | return new string[] { "st-RunGameEvent", "rge", "st-rge" }; 23 | } 24 | 25 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 26 | { 27 | try 28 | { 29 | if (_params.Count != 2) 30 | { 31 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 2, found '{0}'", _params.Count)); 32 | return; 33 | } 34 | ClientInfo cInfo = ConsoleHelper.ParseParamIdOrName(_params[0]); 35 | if (cInfo != null) 36 | { 37 | EntityPlayer player = GeneralOperations.GetEntityPlayer(cInfo.entityId); 38 | if (player != null) 39 | { 40 | if (GameEventManager.GameEventSequences.ContainsKey(_params[1])) 41 | { 42 | GameEventManager.Current.HandleAction(_params[1], null, player, false, ""); 43 | cInfo.SendPackage(NetPackageManager.GetPackage().Setup(_params[1], cInfo.entityId, "", "", NetPackageGameEventResponse.ResponseTypes.Approved)); 44 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Ran game event named '{0}' on player '{1}'", _params[1], cInfo.CrossplatformId.CombinedString)); 45 | return; 46 | } 47 | else 48 | { 49 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Unable to locate '{0}' in the game events list", _params[1])); 50 | return; 51 | } 52 | } 53 | } 54 | else 55 | { 56 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Unable to locate player '{0}' online", _params[0])); 57 | return; 58 | } 59 | } 60 | catch (Exception e) 61 | { 62 | Log.Out(string.Format("[SERVERTOOLS] Error in RunGameEventConsole.Execute: {0}", e.Message)); 63 | } 64 | } 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/SuicideConsole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ServerTools 5 | { 6 | class SuicideConsole : ConsoleCmdAbstract 7 | { 8 | protected override string getDescription() 9 | { 10 | return "[ServerTools] - Enable or disable suicide."; 11 | } 12 | protected override string getHelp() 13 | { 14 | return "Usage:\n" + 15 | " 1. st-Suicide off\n" + 16 | " 2. st-Suicide on\n" + 17 | "1. Turn off suicide\n" + 18 | "2. Turn on suicide\n"; 19 | } 20 | protected override string[] getCommands() 21 | { 22 | return new string[] { "st-Suicide", "cide", "st-cide" }; 23 | } 24 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 25 | { 26 | try 27 | { 28 | if (_params.Count != 1) 29 | { 30 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 1, found '{0}'", _params.Count)); 31 | return; 32 | } 33 | if (_params[0].ToLower().Equals("off")) 34 | { 35 | if (Suicide.IsEnabled) 36 | { 37 | Suicide.IsEnabled = false; 38 | Config.WriteXml(); 39 | Config.LoadXml(); 40 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Suicide has been set to off")); 41 | return; 42 | } 43 | else 44 | { 45 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Suicide is already off")); 46 | return; 47 | } 48 | } 49 | else if (_params[0].ToLower().Equals("on")) 50 | { 51 | if (!Suicide.IsEnabled) 52 | { 53 | Suicide.IsEnabled = true; 54 | Config.WriteXml(); 55 | Config.LoadXml(); 56 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Suicide has been set to on")); 57 | return; 58 | } 59 | else 60 | { 61 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Suicide is already on")); 62 | return; 63 | } 64 | } 65 | else 66 | { 67 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Invalid argument '{0}'", _params[0])); 68 | } 69 | } 70 | catch (Exception e) 71 | { 72 | Log.Out(string.Format("[SERVERTOOLS] Error in SuicideConsole.Execute: {0}", e.Message)); 73 | } 74 | } 75 | } 76 | } -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/DupeLogConsole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ServerTools 5 | { 6 | class DupeLogConsole : ConsoleCmdAbstract 7 | { 8 | protected override string getDescription() 9 | { 10 | return "[ServerTools] - Enable or disable dupe log."; 11 | } 12 | protected override string getHelp() 13 | { 14 | return "Usage:\n" + 15 | " 1. st-dl off\n" + 16 | " 2. st-dl on\n" + 17 | "1. Turn off the dupe log\n" + 18 | "2. Turn on the dupe log\n"; 19 | } 20 | protected override string[] getCommands() 21 | { 22 | return new string[] { "st-DupeLog", "dl", "st-dl" }; 23 | } 24 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 25 | { 26 | try 27 | { 28 | if (_params.Count != 1) 29 | { 30 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 1, found '{0}'", _params.Count)); 31 | return; 32 | } 33 | if (_params[0].ToLower().Equals("off")) 34 | { 35 | if (DupeLog.IsEnabled) 36 | { 37 | DupeLog.IsEnabled = false; 38 | Config.WriteXml(); 39 | Config.LoadXml(); 40 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Dupe log has been set to off")); 41 | return; 42 | } 43 | else 44 | { 45 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Dupe log is already off")); 46 | return; 47 | } 48 | } 49 | else if (_params[0].ToLower().Equals("on")) 50 | { 51 | if (!DupeLog.IsEnabled) 52 | { 53 | DupeLog.IsEnabled = true; 54 | Config.WriteXml(); 55 | Config.LoadXml(); 56 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Dupe log has been set to on")); 57 | return; 58 | } 59 | else 60 | { 61 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Dupe log is already on")); 62 | return; 63 | } 64 | } 65 | else 66 | { 67 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Invalid argument '{0}'", _params[0])); 68 | } 69 | } 70 | catch (Exception e) 71 | { 72 | Log.Out(string.Format("[SERVERTOOLS] Error in DupeLogConsole.Execute: {0}", e.Message)); 73 | } 74 | } 75 | } 76 | } -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/LocationConsole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ServerTools 5 | { 6 | class LocationConsole : ConsoleCmdAbstract 7 | { 8 | protected override string getDescription() 9 | { 10 | return "[ServerTools] - Enable or disable location."; 11 | } 12 | protected override string getHelp() 13 | { 14 | return "Usage:\n" + 15 | " 1. st-loc off\n" + 16 | " 2. st-loc on\n" + 17 | "1. Turn off chat command /loc\n" + 18 | "2. Turn on chat command /loc\n"; 19 | } 20 | protected override string[] getCommands() 21 | { 22 | return new string[] { "st-Location", "loc", "st-loc" }; 23 | } 24 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 25 | { 26 | try 27 | { 28 | if (_params.Count != 1) 29 | { 30 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 1, found '{0}'", _params.Count)); 31 | return; 32 | } 33 | if (_params[0].ToLower().Equals("off")) 34 | { 35 | if (Loc.IsEnabled) 36 | { 37 | Loc.IsEnabled = false; 38 | Config.WriteXml(); 39 | Config.LoadXml(); 40 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Location has been set to off")); 41 | return; 42 | } 43 | else 44 | { 45 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Location is already off")); 46 | return; 47 | } 48 | } 49 | else if (_params[0].ToLower().Equals("on")) 50 | { 51 | if (!Loc.IsEnabled) 52 | { 53 | Loc.IsEnabled = true; 54 | Config.WriteXml(); 55 | Config.LoadXml(); 56 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Location has been set to on")); 57 | return; 58 | } 59 | else 60 | { 61 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Location is already on")); 62 | return; 63 | } 64 | } 65 | else 66 | { 67 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Invalid argument '{0}'", _params[0])); 68 | } 69 | } 70 | catch (Exception e) 71 | { 72 | Log.Out(string.Format("[SERVERTOOLS] Error in LocationConsole.Execute: {0}", e.Message)); 73 | } 74 | } 75 | } 76 | } -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/MuteVoteConsole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ServerTools 5 | { 6 | class MuteVoteConsole : ConsoleCmdAbstract 7 | { 8 | protected override string getDescription() 9 | { 10 | return "[ServerTools] - Enable or disable mute vote."; 11 | } 12 | protected override string getHelp() 13 | { 14 | return "Usage:\n" + 15 | " 1. st-mv off\n" + 16 | " 2. st-mv on\n" + 17 | "1. Turn off mute vote\n" + 18 | "2. Turn on mute vote\n"; 19 | } 20 | protected override string[] getCommands() 21 | { 22 | return new string[] { "st-MuteVote", "mv", "st-mv" }; 23 | } 24 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 25 | { 26 | try 27 | { 28 | if (_params.Count != 1) 29 | { 30 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 1, found '{0}'", _params.Count)); 31 | return; 32 | } 33 | if (_params[0].ToLower().Equals("off")) 34 | { 35 | if (MuteVote.IsEnabled) 36 | { 37 | MuteVote.IsEnabled = false; 38 | Config.WriteXml(); 39 | Config.LoadXml(); 40 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Mute vote has been set to off")); 41 | return; 42 | } 43 | else 44 | { 45 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Mute vote is already off")); 46 | return; 47 | } 48 | } 49 | else if (_params[0].ToLower().Equals("on")) 50 | { 51 | if (!MuteVote.IsEnabled) 52 | { 53 | MuteVote.IsEnabled = true; 54 | Config.WriteXml(); 55 | Config.LoadXml(); 56 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Mute vote has been set to on")); 57 | return; 58 | } 59 | else 60 | { 61 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Mute vote is already on")); 62 | return; 63 | } 64 | } 65 | else 66 | { 67 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Invalid argument '{0}'", _params[0])); 68 | } 69 | } 70 | catch (Exception e) 71 | { 72 | Log.Out(string.Format("[SERVERTOOLS] Error in MuteVoteConsole.Execute: {0}", e.Message)); 73 | } 74 | } 75 | } 76 | } -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/InfoTickerConsole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ServerTools 5 | { 6 | class InfoTickerConsole : ConsoleCmdAbstract 7 | { 8 | protected override string getDescription() 9 | { 10 | return "[ServerTools]- Enable or disable infoTicker."; 11 | } 12 | protected override string getHelp() 13 | { 14 | return "Usage:\n" + 15 | " 1. st-it off\n" + 16 | " 2. st-it on\n" + 17 | "1. Turn off info ticker\n" + 18 | "2. Turn on info ticker\n"; 19 | } 20 | protected override string[] getCommands() 21 | { 22 | return new string[] { "st-InfoTicker", "it", "st-it" }; 23 | } 24 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 25 | { 26 | try 27 | { 28 | if (_params.Count != 1) 29 | { 30 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 1, found {0}", _params.Count)); 31 | return; 32 | } 33 | if (_params[0].ToLower().Equals("off")) 34 | { 35 | if (InfoTicker.IsEnabled) 36 | { 37 | InfoTicker.IsEnabled = false; 38 | Config.WriteXml(); 39 | Config.LoadXml(); 40 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] InfoTicker has been set to off")); 41 | return; 42 | } 43 | else 44 | { 45 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] InfoTicker is already off")); 46 | return; 47 | } 48 | } 49 | else if (_params[0].ToLower().Equals("on")) 50 | { 51 | if (!InfoTicker.IsEnabled) 52 | { 53 | InfoTicker.IsEnabled = true; 54 | Config.WriteXml(); 55 | Config.LoadXml(); 56 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] InfoTicker has been set to on")); 57 | return; 58 | } 59 | else 60 | { 61 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] InfoTicker is already on")); 62 | return; 63 | } 64 | } 65 | else 66 | { 67 | SdtdConsole.Instance.Output(string.Format("Invalid argument {0}", _params[0])); 68 | } 69 | } 70 | catch (Exception e) 71 | { 72 | Log.Out(string.Format("[SERVERTOOLS] Error in InfoTickerConsole.Execute: {0}", e.Message)); 73 | } 74 | } 75 | } 76 | } -------------------------------------------------------------------------------- /ServerTools/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace ServerTools.Properties { 12 | using System; 13 | 14 | 15 | /// 16 | /// A strongly-typed resource class, for looking up localized strings, etc. 17 | /// 18 | // This class was auto-generated by the StronglyTypedResourceBuilder 19 | // class via a tool like ResGen or Visual Studio. 20 | // To add or remove a member, edit your .ResX file then rerun ResGen 21 | // with the /str option, or rebuild your VS project. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources { 26 | 27 | private static global::System.Resources.ResourceManager resourceMan; 28 | 29 | private static global::System.Globalization.CultureInfo resourceCulture; 30 | 31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 32 | internal Resources() { 33 | } 34 | 35 | /// 36 | /// Returns the cached ResourceManager instance used by this class. 37 | /// 38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 39 | internal static global::System.Resources.ResourceManager ResourceManager { 40 | get { 41 | if (object.ReferenceEquals(resourceMan, null)) { 42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ServerTools.Properties.Resources", typeof(Resources).Assembly); 43 | resourceMan = temp; 44 | } 45 | return resourceMan; 46 | } 47 | } 48 | 49 | /// 50 | /// Overrides the current thread's CurrentUICulture property for all 51 | /// resource lookups using this strongly typed resource class. 52 | /// 53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 54 | internal static global::System.Globalization.CultureInfo Culture { 55 | get { 56 | return resourceCulture; 57 | } 58 | set { 59 | resourceCulture = value; 60 | } 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/NewPlayerConsole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ServerTools 5 | { 6 | class NewPlayerConsole : ConsoleCmdAbstract 7 | { 8 | protected override string getDescription() 9 | { 10 | return "[ServerTools] - Enable or disable new player."; 11 | } 12 | protected override string getHelp() 13 | { 14 | return "Usage:\n" + 15 | " 1. st-np off\n" + 16 | " 2. st-np on\n" + 17 | "1. Turn off new player\n" + 18 | "2. Turn on new player\n"; 19 | } 20 | protected override string[] getCommands() 21 | { 22 | return new string[] { "st-NewPlayer", "np", "st-np" }; 23 | } 24 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 25 | { 26 | try 27 | { 28 | if (_params.Count != 1) 29 | { 30 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 1, found '{0}'", _params.Count)); 31 | return; 32 | } 33 | if (_params[0].ToLower().Equals("off")) 34 | { 35 | if (NewPlayer.IsEnabled) 36 | { 37 | NewPlayer.IsEnabled = false; 38 | Config.WriteXml(); 39 | Config.LoadXml(); 40 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] New player has been set to off")); 41 | return; 42 | } 43 | else 44 | { 45 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] New player is already off")); 46 | return; 47 | } 48 | } 49 | else if (_params[0].ToLower().Equals("on")) 50 | { 51 | if (!NewPlayer.IsEnabled) 52 | { 53 | NewPlayer.IsEnabled = true; 54 | Config.WriteXml(); 55 | Config.LoadXml(); 56 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] New player has been set to on")); 57 | return; 58 | } 59 | else 60 | { 61 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] New player is already on")); 62 | return; 63 | } 64 | } 65 | else 66 | { 67 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Invalid argument '{0}'", _params[0])); 68 | } 69 | } 70 | catch (Exception e) 71 | { 72 | Log.Out(string.Format("[SERVERTOOLS] Error in NewPlayerConsole.Execute: {0}", e.Message)); 73 | } 74 | } 75 | } 76 | } -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/KickVoteConsole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Xml; 4 | 5 | namespace ServerTools 6 | { 7 | class KickVoteConsole : ConsoleCmdAbstract 8 | { 9 | protected override string getDescription() 10 | { 11 | return "[ServerTools] - Enable or disable kick vote."; 12 | } 13 | protected override string getHelp() 14 | { 15 | return "Usage:\n" + 16 | " 1. st-kv off\n" + 17 | " 2. st-kv on\n" + 18 | "1. Turn off kick vote\n" + 19 | "2. Turn on kick vote\n"; 20 | } 21 | protected override string[] getCommands() 22 | { 23 | return new string[] { "st-KickVote", "kv", "st-kv" }; 24 | } 25 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 26 | { 27 | try 28 | { 29 | if (_params.Count != 1) 30 | { 31 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 1, found '{0}'", _params.Count)); 32 | return; 33 | } 34 | if (_params[0].ToLower().Equals("off")) 35 | { 36 | if (KickVote.IsEnabled) 37 | { 38 | KickVote.IsEnabled = false; 39 | Config.WriteXml(); 40 | Config.LoadXml(); 41 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Kick vote has been set to off")); 42 | return; 43 | } 44 | else 45 | { 46 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Kick vote is already off")); 47 | return; 48 | } 49 | } 50 | else if (_params[0].ToLower().Equals("on")) 51 | { 52 | if (!KickVote.IsEnabled) 53 | { 54 | KickVote.IsEnabled = true; 55 | Config.WriteXml(); 56 | Config.LoadXml(); 57 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Kick vote has been set to on")); 58 | return; 59 | } 60 | else 61 | { 62 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Kick vote is already on")); 63 | return; 64 | } 65 | } 66 | else 67 | { 68 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Invalid argument '{0}'", _params[0])); 69 | } 70 | } 71 | catch (Exception e) 72 | { 73 | Log.Out(string.Format("[SERVERTOOLS] Error in KickVoteConsole.Execute: {0}", e.Message)); 74 | } 75 | } 76 | } 77 | } -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/FlyingConsole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ServerTools 5 | { 6 | class FlyingDetectorConsole : ConsoleCmdAbstract 7 | { 8 | protected override string getDescription() 9 | { 10 | return "[ServerTools] - Enable, disable flying detection."; 11 | } 12 | protected override string getHelp() 13 | { 14 | return "Usage:\n" + 15 | " 1. st-fly off\n" + 16 | " 2. st-fly on\n" + 17 | "1. Turn off flight detection\n" + 18 | "2. Turn on flight detection\n"; 19 | } 20 | protected override string[] getCommands() 21 | { 22 | return new string[] { "st-Flying", "fly", "st-fly" }; 23 | } 24 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 25 | { 26 | try 27 | { 28 | if (_params.Count != 1) 29 | { 30 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 1, found {0}", _params.Count)); 31 | return; 32 | } 33 | if (_params[0].ToLower().Equals("off")) 34 | { 35 | if (FlyingDetector.IsEnabled) 36 | { 37 | FlyingDetector.IsEnabled = false; 38 | Config.WriteXml(); 39 | Config.LoadXml(); 40 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Flying has been set to off")); 41 | return; 42 | } 43 | else 44 | { 45 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Flying is already off")); 46 | return; 47 | } 48 | } 49 | else if (_params[0].ToLower().Equals("on")) 50 | { 51 | if (!FlyingDetector.IsEnabled) 52 | { 53 | FlyingDetector.IsEnabled = true; 54 | Config.WriteXml(); 55 | Config.LoadXml(); 56 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Flying has been set to on")); 57 | return; 58 | } 59 | else 60 | { 61 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Flying is already on")); 62 | return; 63 | } 64 | } 65 | else 66 | { 67 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Invalid argument {0}", _params[0])); 68 | } 69 | } 70 | catch (Exception e) 71 | { 72 | Log.Out(string.Format("[SERVERTOOLS] Error in FlyingConsole.Execute: {0}", e.Message)); 73 | } 74 | } 75 | } 76 | } -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/KillNoticeConsole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ServerTools 5 | { 6 | class KillNoticeConsole : ConsoleCmdAbstract 7 | { 8 | protected override string getDescription() 9 | { 10 | return "[ServerTools] - Enable or disable kill notice."; 11 | } 12 | protected override string getHelp() 13 | { 14 | return "Usage:\n" + 15 | " 1. st-kn off\n" + 16 | " 2. st-kn on\n" + 17 | "1. Turn off kill notice\n" + 18 | "2. Turn on kill notice\n"; 19 | } 20 | protected override string[] getCommands() 21 | { 22 | return new string[] { "st-KillNotice", "kn", "st-kn" }; 23 | } 24 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 25 | { 26 | try 27 | { 28 | if (_params.Count != 1) 29 | { 30 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 1, found '{0}'", _params.Count)); 31 | return; 32 | } 33 | if (_params[0].ToLower().Equals("off")) 34 | { 35 | if (KillNotice.IsEnabled) 36 | { 37 | KillNotice.IsEnabled = false; 38 | Config.WriteXml(); 39 | Config.LoadXml(); 40 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Kill notice has been set to off")); 41 | return; 42 | } 43 | else 44 | { 45 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Kill notice is already off")); 46 | return; 47 | } 48 | } 49 | else if (_params[0].ToLower().Equals("on")) 50 | { 51 | if (!KillNotice.IsEnabled) 52 | { 53 | KillNotice.IsEnabled = true; 54 | Config.WriteXml(); 55 | Config.LoadXml(); 56 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Kill notice has been set to on")); 57 | return; 58 | } 59 | else 60 | { 61 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Kill notice is already on")); 62 | return; 63 | } 64 | } 65 | else 66 | { 67 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Invalid argument '{0}'", _params[0])); 68 | } 69 | } 70 | catch (Exception e) 71 | { 72 | Log.Out(string.Format("[SERVERTOOLS] Error in KillNoticeConsole.Execute: {0}", e.Message)); 73 | } 74 | } 75 | } 76 | } -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/RemoveItemDukesConsole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ServerTools 5 | { 6 | class RemoveItemDukesConsole : ConsoleCmdAbstract 7 | { 8 | protected override string getDescription() 9 | { 10 | return "[ServerTools] - Removes an online player's items marked with the tag dukes"; 11 | } 12 | 13 | protected override string getHelp() 14 | { 15 | return "Removes all items from a online player that has the tag dukes in Items.xml\n" + 16 | "Usage: st-rid \n" ; 17 | } 18 | 19 | protected override string[] getCommands() 20 | { 21 | return new string[] { "st-RemoveItemDukes", "rid", "st-rid" }; 22 | } 23 | 24 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 25 | { 26 | try 27 | { 28 | if (_params.Count != 1) 29 | { 30 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 1, found '{0}'", _params.Count)); 31 | return; 32 | } 33 | ClientInfo cInfo = GeneralOperations.GetClientInfoFromNameOrId(_params[0]); 34 | if (cInfo != null) 35 | { 36 | EntityPlayer player = GeneralOperations.GetEntityPlayer(cInfo.entityId); 37 | if (player != null) 38 | { 39 | if (GameEventManager.GameEventSequences.ContainsKey("action_dukes")) 40 | { 41 | GameEventManager.Current.HandleAction("action_dukes", null, player, false, ""); 42 | cInfo.SendPackage(NetPackageManager.GetPackage().Setup("action_dukes", cInfo.entityId, "", "", NetPackageGameEventResponse.ResponseTypes.Approved)); 43 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Removed all items tagged dukes from inventory and backpack of player id '{0}' '{1}' named '{2}'", cInfo.PlatformId.CombinedString, cInfo.CrossplatformId.CombinedString, cInfo.playerName)); 44 | return; 45 | } 46 | else 47 | { 48 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Unable to locate action_dukes in the game events list")); 49 | return; 50 | } 51 | } 52 | } 53 | else 54 | { 55 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Unable to locate player '{0}' online", _params[0])); 56 | return; 57 | } 58 | } 59 | catch (Exception e) 60 | { 61 | Log.Out(string.Format("[SERVERTOOLS] Error in RemoveItemDukesConsole.Execute: {0}", e.Message)); 62 | } 63 | } 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/AdminListConsole.cs: -------------------------------------------------------------------------------- 1 | using ServerTools; 2 | using System; 3 | using System.Collections.Generic; 4 | 5 | class AdminListConsole : ConsoleCmdAbstract 6 | { 7 | protected override string getDescription() 8 | { 9 | return "[ServerTools]- Enable or disable chat command admin list."; 10 | } 11 | 12 | protected override string getHelp() 13 | { 14 | return "Usage:\n" + 15 | " 1. st-al off\n" + 16 | " 2. st-al on\n" + 17 | "1. Turn off your admin list\n" + 18 | "2. Turn on your admin list\n"; 19 | } 20 | 21 | protected override string[] getCommands() 22 | { 23 | return new string[] { "st-AdminList", "al", "st-al" }; 24 | } 25 | 26 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 27 | { 28 | try 29 | { 30 | if (_params.Count != 1) 31 | { 32 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 1, found {0}", _params.Count)); 33 | return; 34 | } 35 | if (_params[0].ToLower().Equals("off")) 36 | { 37 | if (AdminList.IsEnabled) 38 | { 39 | AdminList.IsEnabled = false; 40 | Config.WriteXml(); 41 | Config.LoadXml(); 42 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Admin list has been set to off")); 43 | return; 44 | } 45 | else 46 | { 47 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Admin list is already off")); 48 | return; 49 | } 50 | } 51 | else if (_params[0].ToLower().Equals("on")) 52 | { 53 | if (!AdminList.IsEnabled) 54 | { 55 | AdminList.IsEnabled = true; 56 | Config.WriteXml(); 57 | Config.LoadXml(); 58 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Admin list has been set to on")); 59 | return; 60 | } 61 | else 62 | { 63 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Admin list is already on")); 64 | return; 65 | } 66 | } 67 | else 68 | { 69 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Invalid argument {0}", _params[0])); 70 | } 71 | } 72 | catch (Exception e) 73 | { 74 | Log.Out(string.Format("[SERVERTOOLS] Error in AdminListConsole.Execute: {0}", e.Message)); 75 | } 76 | } 77 | } -------------------------------------------------------------------------------- /ServerTools/src/ConsoleCommands/NightAlertConsole.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace ServerTools 5 | { 6 | class NightAlertConsole : ConsoleCmdAbstract 7 | { 8 | protected override string getDescription() 9 | { 10 | return "[ServerTools] - Enable or disable night alert."; 11 | } 12 | protected override string getHelp() 13 | { 14 | return "Usage:\n" + 15 | " 1. st-nal off\n" + 16 | " 2. st-nal on\n" + 17 | "1. Turn off night alert\n" + 18 | "2. Turn on night alert\n"; 19 | } 20 | protected override string[] getCommands() 21 | { 22 | return new string[] { "st-NightAlert", "nal", "st-nal" }; 23 | } 24 | public override void Execute(List _params, CommandSenderInfo _senderInfo) 25 | { 26 | try 27 | { 28 | if (_params.Count != 1) 29 | { 30 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Wrong number of arguments, expected 1, found '{0}'", _params.Count)); 31 | return; 32 | } 33 | if (_params[0].ToLower().Equals("off")) 34 | { 35 | if (NightAlert.IsEnabled) 36 | { 37 | NightAlert.IsEnabled = false; 38 | Config.WriteXml(); 39 | Config.LoadXml(); 40 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Night alert has been set to off")); 41 | return; 42 | } 43 | else 44 | { 45 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Night alert is already off")); 46 | return; 47 | } 48 | } 49 | else if (_params[0].ToLower().Equals("on")) 50 | { 51 | if (NightAlert.IsEnabled) 52 | { 53 | NightAlert.IsEnabled = true; 54 | Config.WriteXml(); 55 | Config.LoadXml(); 56 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Night alert has been set to on")); 57 | return; 58 | } 59 | else 60 | { 61 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Night alert is already on")); 62 | return; 63 | } 64 | } 65 | else 66 | { 67 | SdtdConsole.Instance.Output(string.Format("[SERVERTOOLS] Invalid argument '{0}'", _params[0])); 68 | } 69 | } 70 | catch (Exception e) 71 | { 72 | Log.Out(string.Format("[SERVERTOOLS] Error in NightAlertConsole.Execute: {0}", e.Message)); 73 | } 74 | } 75 | } 76 | } --------------------------------------------------------------------------------