+ {#if inst.source_kind !== 'vanilla'}Changing versions here overrides what the modpack declared — only do this if you know the pack supports it.{:else}Pick the game version and (optionally) a mod loader. Add mods in the Files tab.{/if}
+
+
+
+ {:else if sourceMode === 'upload'}
+
+
{ e.preventDefault(); dragging = true; }}
+ ondragleave={() => (dragging = false)}
+ ondrop={onDrop}
+ onclick={() => document.getElementById('pack-file')?.click()}
+ onkeydown={(e) => e.key === 'Enter' && document.getElementById('pack-file')?.click()}
+ >
+
+ {#if uploadFile}
+ {uploadFile.name}{formatBytes(uploadFile.size)}
+ {:else}
+ Drop a modpack here
+ .mrpack, CurseForge .zip, or any instance folder zipped up
+ {/if}
+
+ (uploadFile = (e.target as HTMLInputElement).files?.[0] ?? null)} />
+
+ Plain zip? Choose its Minecraft version and loader
+
+
+
+
+ {:else}
+
+
+
+ {#if selected}
+
+
+
+ {#if selected.icon}{/if}
+
{selected.title}
{selected.text}
+
+ {#if loadingVersions}
+
Loading versions…
+ {:else}
+
+ {#each versions as v}
+
+
{v.name}{v.meta}
+ {v.date ? new Date(v.date).toLocaleDateString() : ''}
+
+
+ {/each}
+
+ {/if}
+
+ {:else if results.length}
+
+ {#each results as r}
+
+ {/each}
+
+ {:else}
+
+ {sourceMode === 'curseforge' ? 'CurseForge needs an API key (Settings → Integrations). ' : ''}Search for a modpack, then pick a version. Mods download straight from the CDN; configs are hosted by this panel.
+
{missing.length} file{missing.length > 1 ? 's' : ''} need a manual upload
+
These CurseForge authors block third-party downloads. Download each file and upload it below into the same folder — it replaces the placeholder automatically.
How players sign in, and connections to other services.
+
+
+
+
+ {#if s}
+
+
Panel accounts
+
+ {#if s.auth.panel_accounts}
+
+ Sign-ups from the launcher
+
+
+
+
+
+
+ {s.auth.registration === 'closed' ? 'Only admins create accounts.' : s.auth.registration === 'approval' ? 'Anyone can sign up; you approve them on the Players page.' : 'Anyone can create an account and play immediately.'}
+
+
+ {/if}
+
+
+
+
Offline play
+
+
+
+
+
Microsoft accounts
+
+ {#if s.auth.microsoft}
+ Azure application (client) ID
+
+
+ Register a public client app in Azure (Personal Microsoft accounts, device-code flow enabled), then
+ request Minecraft API access .
+ See the docs for the step-by-step guide.
+
+
+ {/if}
+
+
+
+
Integrations
+ CurseForge API key
+ {#if s.curseforge_key_from_env}
+ Set via the CURSEFORGE_API_KEY environment variable
+ {:else}
+
+ Needed to search and import CurseForge modpacks. Get a free key at console.curseforge.com.
+ {/if}
+
+ Launcher download link
+
+ Shown on the dashboard so you can share it easily.
+
+
+ {/if}
+