local e = require "express" local download = e.download local immediate = e.immediate local command = e.command -- Configuration! -- Change this stuff! -- Bits of config local config = { aws_region="us-west-2", domain = "txwea.boo", --domain subdomain_fmt = "%s.txwea.boo", --how to structure subdomains version="0.0.1", bucket_name="txweaboo", --aws s3 bucket, created manually to prevent terraform from trying to delete it. instance_name="Weaboos Anonymous", -- Name to use for the multimc instance -- Cron uses UTC time server_starts="1 21 * * 1,4,5", --Starts at 4pm on Mondays and Thursdays server_stops="1 6 * * 2,5,6", --Server stops at 1am on Tuesdays and Fridays } -- Each machine gets a startup script, located in src/startup that configures -- it when the vps starts up for the first time. Reprovisioning the machine also -- reprovisions attached elastic block storage, make sure your data is backed up -- to the s3 bucket! config.machines = { main = { ebs = 500, size = "r7a.medium", }, sidecar = { size = "t3.nano", } } -- Minecraft mods! config.mods = { shared = { "https://cdn.modrinth.com/data/P7dR8mSH/versions/xklQBMta/fabric-api-0.97.0%2B1.20.4.jar", -- Teleportation waystones "https://cdn.modrinth.com/data/LOpKHB2A/versions/5rsvBzQq/waystones-fabric-1.20.4-16.0.4.jar", "https://cdn.modrinth.com/data/MBAkmtvl/versions/U79V1VMr/balm-fabric-1.20.4-9.0.7.jar", -- More potions (and brewing stand tweak) "https://cdn.modrinth.com/data/n0S5OkPo/versions/VEkp93me/extraalchemy-fabric-1.20.4-1.11.3.jar", -- Armor trims grant effects "https://cdn.modrinth.com/data/BL7ADJ7w/versions/Ig73knQu/trimeffects-1.1.1-fabric.jar", -- Jade is needed on the server for things like horse stats "https://cdn.modrinth.com/data/nvQzSEkH/versions/fNHCa6bl/Jade-1.20.4-fabric-13.3.1.jar", -- Item restocking "https://cdn.modrinth.com/data/mQWkB9ON/versions/HGSYHrgz/stackrefill-1.20.4-4.2.jar", "https://cdn.modrinth.com/data/e0M1UDsY/versions/n9TNesVV/collective-1.20.4-7.40.jar", -- Rechisled - decoration "https://cdn.modrinth.com/data/B0g2vT6l/versions/9RrwNTgN/rechiseled-1.1.5b-fabric-mc1.20.jar", "https://cdn.modrinth.com/data/LN9BxssP/versions/cp6X3Hrn/supermartijn642configlib-1.1.8a-fabric-mc1.20.2.jar", "https://cdn.modrinth.com/data/rOUBggPv/versions/wvyQg8qd/supermartijn642corelib-1.1.17-fabric-mc1.20.3.jar", "https://cdn.modrinth.com/data/p19vrgc2/versions/TIXGDm8a/fusion-1.1.1-fabric-mc1.20.4.jar", -- Handcrafted - more decoration "https://cdn.modrinth.com/data/pJmCFF0p/versions/K4jSQsxb/handcrafted-fabric-1.20.4-3.2.1.jar", "https://cdn.modrinth.com/data/G1hIVOrD/versions/TiIWVg2u/resourcefullib-fabric-1.20.4-2.4.10.jar", --Basic weapons "https://cdn.modrinth.com/data/sc2Pektv/versions/zSdnkMN9/basicweapons-fabric-mc1.20.4%2B1.2.0.jar", -- Travelers backpack "https://cdn.modrinth.com/data/rlloIFEV/versions/AdxNPxLV/travelersbackpack-fabric-1.20.4-9.4.3.jar", "https://cdn.modrinth.com/data/K01OU20C/versions/DObEjZD4/cardinal-components-api-5.4.0.jar", -- Just enough items, needed on server for "+" "https://cdn.modrinth.com/data/u6dRKJwZ/versions/HPR5ThoH/jei-1.20.4-fabric-17.3.0.49.jar", -- Inventory sorting "https://cdn.modrinth.com/data/5ibSyLAz/versions/MO3Q3zs2/InventorySorter-1.9.0-1.20.4.jar", }, server = { -- Aditional Structures "https://cdn.modrinth.com/data/TWsbC6jW/versions/4aO595R4/AdditionalStructures-1.20.x-%28v.4.2.1%29.jar", "https://cdn.modrinth.com/data/9s6osm5g/versions/eBZiZ9NS/cloth-config-13.0.121-fabric.jar", -- Yung's * "https://cdn.modrinth.com/data/Ua7DFN59/versions/RXxBbRs7/YungsApi-1.20.4-Fabric-4.4.2.jar", "https://cdn.modrinth.com/data/HjmxVlSr/versions/St6cNi1U/YungsBetterMineshafts-1.20.4-Fabric-4.4.1.jar", "https://cdn.modrinth.com/data/kidLKymU/versions/lT8OssHA/YungsBetterStrongholds-1.20.4-Fabric-4.4.1.jar", "https://cdn.modrinth.com/data/o1C1Dkj5/versions/8zaPNLL8/YungsBetterDungeons-1.20.4-Fabric-4.4.1.jar", "https://cdn.modrinth.com/data/Ht4BfYp6/versions/tx2e5Fjp/YungsBridges-1.20.4-Fabric-4.4.0.jar", "https://cdn.modrinth.com/data/XNlO7sBv/versions/ubWx2R23/YungsBetterDesertTemples-1.20.4-Fabric-3.4.1.jar", "https://cdn.modrinth.com/data/3dT9sgt4/versions/M9acJ70z/YungsBetterOceanMonuments-1.20.4-Fabric-3.4.1.jar", "https://cdn.modrinth.com/data/Z2mXHnxP/versions/W7R83Bhr/YungsBetterNetherFortresses-1.20.4-Fabric-2.4.2.jar", "https://cdn.modrinth.com/data/t5FRdP87/versions/hXyLPxPz/YungsBetterWitchHuts-1.20.4-Fabric-3.4.1.jar", "https://cdn.modrinth.com/data/z9Ve58Ih/versions/csNNUblm/YungsBetterJungleTemples-1.20.4-Fabric-2.4.1.jar", "https://cdn.modrinth.com/data/2BwBOmBQ/versions/sPWRtsih/YungsBetterEndIsland-1.20.4-Fabric-2.4.1.jar", "https://cdn.modrinth.com/data/ZYgyPyfq/versions/F1adMKW8/YungsExtras-1.20.4-Fabric-4.4.0.jar", -- Terralith "https://cdn.modrinth.com/data/cl223EMc/versions/3aypqSNl/cristellib-1.2.4-fabric.jar", "https://cdn.modrinth.com/data/DjLobEOy/versions/bwfVhUnU/t_and_t-1.12.1.1.jar", "https://cdn.modrinth.com/data/8oi3bsk5/versions/zA1qYB0L/Terralith_1.20.4_v2.4.11_FABRIC.jar", -- Dungeons and Taverns "https://cdn.modrinth.com/data/tpehi7ww/versions/xwTzTss5/dungeons-and-taverns-3.1.1.jar", -- Overhauled village "https://cdn.modrinth.com/data/fgmhI8kH/versions/KXEQACvr/ctov-fabric-3.4.3.jar", -- Vein miner "https://cdn.modrinth.com/data/OhduvhIc/versions/DCSFfJF9/Veinminer-2.0.3.jar", "https://cdn.modrinth.com/data/aTaCgKLW/versions/qm0TSoQL/silk-all-1.10.3.jar", "https://cdn.modrinth.com/data/Ha28R6CL/versions/ZMokinzs/fabric-language-kotlin-1.10.19%2Bkotlin.1.9.23.jar", -- Profundis "https://cdn.modrinth.com/data/aucz7XCt/versions/qX0iNakQ/profundis-1.6.2.jar", -- Sleep "https://cdn.modrinth.com/data/Cw8IlnGM/versions/2LFCQnd1/serversleep-datapack.jar", -- More structures "https://cdn.modrinth.com/data/rYlnn25U/versions/qu1FkIzJ/adorabuild-structures-2.6.0-fabric-1.20.4.jar", -- More structures "https://cdn.modrinth.com/data/HSfsxuTo/versions/DFkIejTe/explorify-v1.3.0-mc1.20.jar", -- Optimizations "https://cdn.modrinth.com/data/gvQqBUqZ/versions/nMhjKWVE/lithium-fabric-mc1.20.4-0.12.1.jar", -- Keep items "https://cdn.modrinth.com/data/lL35xmSR/versions/XG0TklFV/youritemsaresafe-1.20.4-4.2.jar", -- Tree cutting "https://cdn.modrinth.com/data/Fb4jn8m6/versions/mb15RrXi/FallingTree-1.20.4-1.20.4.3.jar", -- Incendium, nether additions "https://cdn.modrinth.com/data/ZVzW5oNS/versions/BxVLGy3y/Incendium_1.20.4_v5.3.4.jar", -- Don't display terralith message "https://cdn.modrinth.com/data/sk4iFZGy/versions/2jAppOW4/remove-terralith-intro-message-1.0.jar", -- Backups! "https://cdn.modrinth.com/data/Jrmoreqs/versions/3SI3svDb/AdvancedBackups-fabric-1.20.4-3.5.1.jar", -- Camps castles and carriages "https://cdn.modrinth.com/data/h9XxzZxe/versions/uI06GjwK/camps_castles_carriages-2.3.jar", -- Moog's nether structures "https://cdn.modrinth.com/data/nGUXvjTa/versions/PTf5Y56P/mns-1.0.1-1.20-fabric.jar", -- Moog's voyager structures "https://cdn.modrinth.com/data/OQAgZMH1/versions/tbOvFJdA/mvs-4.1.2-1.20-fabric.jar", -- Moog's end structures "https://cdn.modrinth.com/data/r4PuRGfV/versions/s3M8KkSa/mes-1.3.1-1.20-fabric.jar", -- When Dungeon Arise "https://cdn.modrinth.com/data/ZsrrjDbP/versions/AxIOkvEv/DungeonsAriseSevenSeas-1.19.2-1.0.2-forge.jar", }, client = { -- Shaders "https://cdn.modrinth.com/data/YL57xq9U/versions/kGdJ11Rt/iris-mc1.20.4-1.6.17.jar", -- Menu tweaks "https://cdn.modrinth.com/data/aC3cM3Vq/versions/mjuG4AYd/MouseTweaks-fabric-mc1.20-2.26.jar", -- Light levels "https://cdn.modrinth.com/data/yjvKidNM/versions/X4PKtqOJ/lighty-fabric-2.2.0%2B1.20.3.jar", -- Rendering optimizations "https://cdn.modrinth.com/data/AANobbMI/versions/4GyXKCLd/sodium-fabric-0.5.8%2Bmc1.20.4.jar", "https://cdn.modrinth.com/data/PtjYWJkn/versions/M0ndiav7/sodium-extra-0.5.4%2Bmc1.20.4-build.116.jar", -- Search bar for key binds "https://cdn.modrinth.com/data/xv94TkTM/versions/KFbkZFLx/Controlling-fabric-1.20.4-15.0.3.jar", "https://cdn.modrinth.com/data/fuuu3xnx/versions/CESw4Xj5/Searchables-fabric-1.20.4-1.0.6.jar", -- Mod menu "https://cdn.modrinth.com/data/mOgUt4GM/versions/w3icASIi/modmenu-9.1.0-beta.1.jar", -- Hunger bar tweaks "https://cdn.modrinth.com/data/EsAfCjCV/versions/pmFyu3Sz/appleskin-fabric-mc1.20.3-2.5.1.jar", -- Just enough items "https://cdn.modrinth.com/data/uEfK2CXF/versions/FjwDwtUL/JustEnoughResources-Fabric-1.20.4-1.5.0.4.jar", "https://cdn.modrinth.com/data/9Pk89J3g/versions/rWDKPxQZ/justenoughbreeding-fabric-1.20.4-1.2.1.jar", "https://mrcrayfish.com/mods/configured/download/d82da7a0a24aceac44242dde3eaff11f5acbeac3", -- Lightmatica - blueprints "https://cdn.modrinth.com/data/GcWjdA9I/versions/kZJWQDi6/malilib-fabric-1.20.4-0.18.1.jar", "https://masa.dy.fi/mcmods/litematica/litematica-fabric-1.20.4-0.17.3-pre.1.jar", "https://cdn.modrinth.com/data/3llatzyE/versions/xeDghx1o/litematica-printer-1.20.4-3.2.1.jar", -- CIT, allows datapacks to have textures "https://cdn.modrinth.com/data/otVJckYQ/versions/MU5nRGAS/citresewn-1.1.5%2B1.20.4.jar", "https://cdn.modrinth.com/data/BVzZfTc1/versions/qMoPCh9Z/entity_texture_features_fabric_1.20.4-5.2.3.jar", "https://cdn.modrinth.com/data/4I1XuqiY/versions/bwjbN1G7/entity_model_features_fabric_1.20.4-1.3.jar", }, } -- Resource packs to download config.resource_packs = { shared = {}, server = { }, client = { -- Redstone tweaks "https://cdn.modrinth.com/data/RvfAlf4Z/versions/6x5Vyy2c/Redstone%20Tweaks%202.4.3.zip", -- Incedium textures "https://cdn.modrinth.com/data/HfNmMQ9E/versions/DoalfjbG/Sparkles_1.20.4_v1.0.5.zip", -- Textures for enchanted books "https://cdn.modrinth.com/data/6udpuGCH/versions/Hk6zJ311/EBE_1.20.x_v1.1.zip", -- Textures for potions "https://cdn.modrinth.com/data/yFn9hTiq/versions/cCOinnlk/xali%27s%20Potions%20v1.0.0.zip", }, } -- Shaders, only makes sense client side config.shaders = { shared = {}, server = {}, client = { -- Minmal "https://cdn.modrinth.com/data/UaS8ROxa/versions/6iI428Kp/miniature-shader-2.9.1.zip", -- Maximal "https://cdn.modrinth.com/data/R6NEzAwj/versions/MCqlWur4/ComplementaryUnbound_r5.1.1.zip", }, } -- Patches to apply to the instance config.config = { shared = {}, server = { ["ops.json"] = immediate([[ [ { "uuid": ""a7568061-843d-4aa6-bc45-96880c5a8747", "name": "PartiallyPlatapus", "level": 4, "bypassPlayerLimit": true } ] ]]), }, client = { [".minecraft/config/iris.properties"] = immediate([[ #This file stores configuration options for Iris, such as the currently active shaderpack #Mon Apr 01 00:00:00 CDT 2024 colorSpace=SRGB disableUpdateMessage=false enableDebugOptions=false maxShadowRenderDistance=32 shaderPack=miniature-shader-2.9.1.zip enableShaders=true ]]), ["instance.cfg"] = immediate(string.format([[ ForgeVersion= InstanceType=OneSix IntendedVersion= JavaArchitecture=64 JavaTimestamp=1638914208000 JavaVersion=17.0.2 JoinServerOnLaunch=true JoinServerOnLaunchAddress=%s JoinSingleplayerWorldOnLaunch=false JoinWorldOnLaunch=true LWJGLVersion= LaunchMaximized=true LiteloaderVersion= LogPrePostOutput=true MCLaunchMethod=LauncherPart ManagedPack=false ManagedPackID= ManagedPackName= ManagedPackType= ManagedPackVersionID= ManagedPackVersionName= MinecraftWinHeight=480 MinecraftWinWidth=854 OverrideCommands=false OverrideConsole=false OverrideGameTime=false OverrideJavaArgs=false OverrideJavaLocation=true OverrideMCLaunchMethod=false OverrideMemory=false OverrideNativeWorkarounds=false OverrideWindow=true iconKey=default lastLaunchTime=1712902064290 lastTimePlayed=0 name=%s notes= totalTimePlayed= ]], string.format(config.subdomain_fmt,"mc") , config.instance_name)), [".minecraft/options.txt"] = immediate([[ version:3700 autoJump:false operatorItemsTab:false autoSuggestions:true chatColors:true chatLinks:true chatLinksPrompt:true enableVsync:true entityShadows:true forceUnicodeFont:false discrete_mouse_scroll:false invertYMouse:false realmsNotifications:true reducedDebugInfo:false showSubtitles:false directionalAudio:false touchscreen:false fullscreen:true bobView:false toggleCrouch:false toggleSprint:false darkMojangStudiosBackground:false hideLightningFlashes:false hideSplashTexts:false mouseSensitivity:0.5 fov:0.0 screenEffectScale:1.0 fovEffectScale:1.0 darknessEffectScale:1.0 glintSpeed:0.5 glintStrength:0.75 damageTiltStrength:1.0 highContrast:false narratorHotkey:true gamma:1.0 renderDistance:16 simulationDistance:12 entityDistanceScaling:1.0 guiScale:2 particles:0 maxFps:120 graphicsMode:1 ao:true prioritizeChunkUpdates:0 biomeBlendRadius:2 renderClouds:"true" resourcePacks:["vanilla","fabric","file/Redstone%20Tweaks%202.4.3.zip","file/EBE_1.20.x_v1.1.zip","file/xali%27s%20Potions%20v1.0.0.zip","file/Sparkles_1.20.4_v1.0.5.zip"] incompatibleResourcePacks:["appleskin","balm-fabric","controlling","jade","jei","jeresources","justenoughbreeding","rechiseled","searchables","supermartijn642corelib","waystones","file/EBE_1.20.x_v1.1.zip","file/xali%27s%20Potions%20v1.0.0.zip"] lastServer: lang:en_us soundDevice:"" chatVisibility:0 chatOpacity:1.0 chatLineSpacing:0.0 textBackgroundOpacity:0.5 backgroundForChatOnly:true hideServerAddress:false advancedItemTooltips:false pauseOnLostFocus:true overrideWidth:0 overrideHeight:0 chatHeightFocused:1.0 chatDelay:0.0 chatHeightUnfocused:0.4375 chatScale:1.0 chatWidth:1.0 notificationDisplayTime:1.0 mipmapLevels:4 useNativeTransport:true mainHand:"right" attackIndicator:1 narrator:0 tutorialStep:movement mouseWheelSensitivity:1.0 rawMouseInput:true glDebugVerbosity:1 skipMultiplayerWarning:true skipRealms32bitWarning:false hideMatchedNames:true joinedFirstServer:false hideBundleTutorial:false syncChunkWrites:true showAutosaveIndicator:true allowServerListing:true onlyShowSecureChat:false panoramaScrollSpeed:1.0 telemetryOptInExtra:false onboardAccessibility:false key_key.attack:key.mouse.left key_key.use:key.mouse.right key_key.forward:key.keyboard.w key_key.left:key.keyboard.a key_key.back:key.keyboard.s key_key.right:key.keyboard.d key_key.jump:key.keyboard.space key_key.sneak:key.keyboard.left.shift key_key.sprint:key.keyboard.left.control key_key.drop:key.keyboard.q key_key.inventory:key.keyboard.e key_key.chat:key.keyboard.t key_key.playerlist:key.keyboard.tab key_key.pickItem:key.mouse.middle key_key.command:key.keyboard.slash key_key.socialInteractions:key.keyboard.p key_key.screenshot:key.keyboard.f2 key_key.togglePerspective:key.keyboard.f5 key_key.smoothCamera:key.keyboard.unknown key_key.fullscreen:key.keyboard.f11 key_key.spectatorOutlines:key.keyboard.unknown key_key.swapOffhand:key.keyboard.f key_key.saveToolbarActivator:key.keyboard.c key_key.loadToolbarActivator:key.keyboard.x key_key.advancements:key.keyboard.l key_key.hotbar.1:key.keyboard.1 key_key.hotbar.2:key.keyboard.2 key_key.hotbar.3:key.keyboard.3 key_key.hotbar.4:key.keyboard.4 key_key.hotbar.5:key.keyboard.5 key_key.hotbar.6:key.keyboard.6 key_key.hotbar.7:key.keyboard.7 key_key.hotbar.8:key.keyboard.8 key_key.hotbar.9:key.keyboard.9 key_key.extraalchemy.magnetism_toggle:key.keyboard.n key_key.extraalchemy.potion_bag_mode:key.keyboard.k key_key.jade.config:key.keyboard.keypad.0 key_key.jade.show_overlay:key.keyboard.keypad.1 key_key.jade.toggle_liquid:key.keyboard.keypad.2 key_key.jade.show_recipes:key.keyboard.keypad.3 key_key.jade.show_uses:key.keyboard.keypad.4 key_key.jade.narrate:key.keyboard.keypad.5 key_key.jade.show_details_alternative:key.keyboard.unknown key_key.lighty.enable:key.keyboard.f7 key_key.lighty.toggle:key.keyboard.f8 key_key.modmenu.open_menu:key.keyboard.unknown key_key.travelersbackpack.inventory:key.keyboard.b key_key.travelersbackpack.toggle_tank:key.keyboard.n key_key.travelersbackpack.cycle_tool:key.keyboard.z key_iris.keybind.reload:key.keyboard.r key_iris.keybind.toggleShaders:key.keyboard.k key_iris.keybind.shaderPackSelection:key.keyboard.o soundCategory_master:1.0 soundCategory_music:1.0 soundCategory_record:1.0 soundCategory_weather:1.0 soundCategory_block:1.0 soundCategory_hostile:1.0 soundCategory_neutral:1.0 soundCategory_player:1.0 soundCategory_ambient:1.0 soundCategory_voice:1.0 modelPart_cape:true modelPart_jacket:true modelPart_left_sleeve:true modelPart_right_sleeve:true modelPart_left_pants_leg:true modelPart_right_pants_leg:true modelPart_hat:true ]]), }, } -- Validation! Don't change stuff below this line! for _,mod in pairs(config.mods.shared) do table.insert(config.mods.client,mod) table.insert(config.mods.server,mod) end return config