@minecraft-docker/mcctl-console 1.15.0 → 1.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/.next/standalone/package.json +1 -1
  2. package/.next/standalone/platform/services/mcctl-console/.next/BUILD_ID +1 -1
  3. package/.next/standalone/platform/services/mcctl-console/.next/app-build-manifest.json +37 -37
  4. package/.next/standalone/platform/services/mcctl-console/.next/app-path-routes-manifest.json +1 -1
  5. package/.next/standalone/platform/services/mcctl-console/.next/build-manifest.json +2 -2
  6. package/.next/standalone/platform/services/mcctl-console/.next/prerender-manifest.json +1 -1
  7. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/audit-logs/page_client-reference-manifest.js +1 -1
  8. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/backups/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/dashboard/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/players/page_client-reference-manifest.js +1 -1
  11. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/routing/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/servers/[name]/console/page_client-reference-manifest.js +1 -1
  13. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/servers/[name]/page_client-reference-manifest.js +1 -1
  14. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/servers/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/platform/services/mcctl-console/.next/server/app/(main)/worlds/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/platform/services/mcctl-console/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  17. package/.next/standalone/platform/services/mcctl-console/.next/server/app/_not-found.html +1 -1
  18. package/.next/standalone/platform/services/mcctl-console/.next/server/app/_not-found.rsc +1 -1
  19. package/.next/standalone/platform/services/mcctl-console/.next/server/app/api/audit-logs/[id]/route.js +1 -1
  20. package/.next/standalone/platform/services/mcctl-console/.next/server/app/api/audit-logs/export/route.js +1 -1
  21. package/.next/standalone/platform/services/mcctl-console/.next/server/app/api/audit-logs/route.js +1 -1
  22. package/.next/standalone/platform/services/mcctl-console/.next/server/app/api/audit-logs/stats/route.js +1 -1
  23. package/.next/standalone/platform/services/mcctl-console/.next/server/app/api/audit-logs/stream/route.js +1 -1
  24. package/.next/standalone/platform/services/mcctl-console/.next/server/app/api/auth/[...all]/route.js +1 -1
  25. package/.next/standalone/platform/services/mcctl-console/.next/server/app/api/backup/history/route.js +1 -1
  26. package/.next/standalone/platform/services/mcctl-console/.next/server/app/api/backup/restore/route.js +1 -1
  27. package/.next/standalone/platform/services/mcctl-console/.next/server/app/api/backup/route.js +1 -1
  28. package/.next/standalone/platform/services/mcctl-console/.next/server/app/api/players/ban/route.js +1 -1
  29. package/.next/standalone/platform/services/mcctl-console/.next/server/app/api/players/kick/route.js +1 -1
  30. package/.next/standalone/platform/services/mcctl-console/.next/server/app/api/players/op/route.js +1 -1
  31. package/.next/standalone/platform/services/mcctl-console/.next/server/app/api/players/route.js +1 -1
  32. package/.next/standalone/platform/services/mcctl-console/.next/server/app/api/players/whitelist/route.js +1 -1
  33. package/.next/standalone/platform/services/mcctl-console/.next/server/app/api/router/status/route.js +1 -1
  34. package/.next/standalone/platform/services/mcctl-console/.next/server/app/api/servers/[name]/[action]/route.js +1 -1
  35. package/.next/standalone/platform/services/mcctl-console/.next/server/app/api/servers/[name]/config/route.js +1 -1
  36. package/.next/standalone/platform/services/mcctl-console/.next/server/app/api/servers/[name]/exec/route.js +1 -1
  37. package/.next/standalone/platform/services/mcctl-console/.next/server/app/api/servers/[name]/route.js +1 -1
  38. package/.next/standalone/platform/services/mcctl-console/.next/server/app/api/servers/[name]/world/reset/route.js +1 -1
  39. package/.next/standalone/platform/services/mcctl-console/.next/server/app/api/servers/route.js +1 -1
  40. package/.next/standalone/platform/services/mcctl-console/.next/server/app/api/user-servers/[id]/route.js +1 -1
  41. package/.next/standalone/platform/services/mcctl-console/.next/server/app/api/user-servers/route.js +1 -1
  42. package/.next/standalone/platform/services/mcctl-console/.next/server/app/api/users/route.js +1 -1
  43. package/.next/standalone/platform/services/mcctl-console/.next/server/app/api/worlds/[name]/[action]/route.js +1 -1
  44. package/.next/standalone/platform/services/mcctl-console/.next/server/app/api/worlds/[name]/route.js +1 -1
  45. package/.next/standalone/platform/services/mcctl-console/.next/server/app/api/worlds/route.js +1 -1
  46. package/.next/standalone/platform/services/mcctl-console/.next/server/app/audit-logs.html +1 -1
  47. package/.next/standalone/platform/services/mcctl-console/.next/server/app/audit-logs.rsc +2 -2
  48. package/.next/standalone/platform/services/mcctl-console/.next/server/app/backups.html +1 -1
  49. package/.next/standalone/platform/services/mcctl-console/.next/server/app/backups.rsc +2 -2
  50. package/.next/standalone/platform/services/mcctl-console/.next/server/app/dashboard.html +1 -1
  51. package/.next/standalone/platform/services/mcctl-console/.next/server/app/dashboard.rsc +2 -2
  52. package/.next/standalone/platform/services/mcctl-console/.next/server/app/index.html +1 -1
  53. package/.next/standalone/platform/services/mcctl-console/.next/server/app/index.rsc +2 -2
  54. package/.next/standalone/platform/services/mcctl-console/.next/server/app/login/page.js +1 -1
  55. package/.next/standalone/platform/services/mcctl-console/.next/server/app/login/page_client-reference-manifest.js +1 -1
  56. package/.next/standalone/platform/services/mcctl-console/.next/server/app/login.html +1 -1
  57. package/.next/standalone/platform/services/mcctl-console/.next/server/app/login.rsc +2 -2
  58. package/.next/standalone/platform/services/mcctl-console/.next/server/app/page.js +1 -1
  59. package/.next/standalone/platform/services/mcctl-console/.next/server/app/page_client-reference-manifest.js +1 -1
  60. package/.next/standalone/platform/services/mcctl-console/.next/server/app/players.html +1 -1
  61. package/.next/standalone/platform/services/mcctl-console/.next/server/app/players.rsc +2 -2
  62. package/.next/standalone/platform/services/mcctl-console/.next/server/app/routing.html +1 -1
  63. package/.next/standalone/platform/services/mcctl-console/.next/server/app/routing.rsc +2 -2
  64. package/.next/standalone/platform/services/mcctl-console/.next/server/app/servers.html +1 -1
  65. package/.next/standalone/platform/services/mcctl-console/.next/server/app/servers.rsc +2 -2
  66. package/.next/standalone/platform/services/mcctl-console/.next/server/app/signup/page.js +1 -1
  67. package/.next/standalone/platform/services/mcctl-console/.next/server/app/signup/page_client-reference-manifest.js +1 -1
  68. package/.next/standalone/platform/services/mcctl-console/.next/server/app/signup.html +1 -1
  69. package/.next/standalone/platform/services/mcctl-console/.next/server/app/signup.rsc +2 -2
  70. package/.next/standalone/platform/services/mcctl-console/.next/server/app/worlds.html +1 -1
  71. package/.next/standalone/platform/services/mcctl-console/.next/server/app/worlds.rsc +2 -2
  72. package/.next/standalone/platform/services/mcctl-console/.next/server/app-paths-manifest.json +10 -10
  73. package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/354.js +1 -1
  74. package/.next/standalone/platform/services/mcctl-console/.next/server/chunks/613.js +1 -1
  75. package/.next/standalone/platform/services/mcctl-console/.next/server/middleware-manifest.json +5 -5
  76. package/.next/standalone/platform/services/mcctl-console/.next/server/next-font-manifest.js +1 -1
  77. package/.next/standalone/platform/services/mcctl-console/.next/server/next-font-manifest.json +1 -1
  78. package/.next/standalone/platform/services/mcctl-console/.next/server/pages/404.html +1 -1
  79. package/.next/standalone/platform/services/mcctl-console/.next/server/pages/500.html +1 -1
  80. package/.next/standalone/platform/services/mcctl-console/.next/server/server-reference-manifest.json +1 -1
  81. package/.next/{static/chunks/app/(main)/layout-9311354243420c0d.js → standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/layout-692cb1da92b73287.js} +1 -1
  82. package/.next/{static/chunks/app/login/page-3ad9d595e6c37214.js → standalone/platform/services/mcctl-console/.next/static/chunks/app/login/page-d6a5da720238e5cf.js} +1 -1
  83. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/page-8b5b6cb30448bcc5.js +1 -0
  84. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/signup/{page-69a8bc2df6bc3559.js → page-6e5550bc9fffa4bc.js} +1 -1
  85. package/.next/standalone/platform/services/mcctl-console/package.json +1 -1
  86. package/.next/{standalone/platform/services/mcctl-console/.next/static/chunks/app/(main)/layout-9311354243420c0d.js → static/chunks/app/(main)/layout-692cb1da92b73287.js} +1 -1
  87. package/.next/{standalone/platform/services/mcctl-console/.next/static/chunks/app/login/page-3ad9d595e6c37214.js → static/chunks/app/login/page-d6a5da720238e5cf.js} +1 -1
  88. package/.next/static/chunks/app/page-8b5b6cb30448bcc5.js +1 -0
  89. package/.next/static/chunks/app/signup/{page-69a8bc2df6bc3559.js → page-6e5550bc9fffa4bc.js} +1 -1
  90. package/package.json +2 -2
  91. package/.next/standalone/platform/services/mcctl-console/.next/static/chunks/app/page-fcacf1a03f097c1a.js +0 -1
  92. package/.next/static/chunks/app/page-fcacf1a03f097c1a.js +0 -1
  93. /package/.next/standalone/platform/services/mcctl-console/.next/static/{Dhuk7IX_HBmn4_EOQA5oS → 54l5y_cPPm2v7sbdcoQao}/_buildManifest.js +0 -0
  94. /package/.next/standalone/platform/services/mcctl-console/.next/static/{Dhuk7IX_HBmn4_EOQA5oS → 54l5y_cPPm2v7sbdcoQao}/_ssgManifest.js +0 -0
  95. /package/.next/static/{Dhuk7IX_HBmn4_EOQA5oS → 54l5y_cPPm2v7sbdcoQao}/_buildManifest.js +0 -0
  96. /package/.next/static/{Dhuk7IX_HBmn4_EOQA5oS → 54l5y_cPPm2v7sbdcoQao}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";(()=>{var e={};e.id=1914,e.ids=[1914],e.modules={85890:e=>{e.exports=require("better-sqlite3")},72934:e=>{e.exports=require("next/dist/client/components/action-async-storage.external.js")},54580:e=>{e.exports=require("next/dist/client/components/request-async-storage.external.js")},45869:e=>{e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},20399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},30517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},92048:e=>{e.exports=require("fs")},55315:e=>{e.exports=require("path")},26482:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>g,patchFetch:()=>_,requestAsyncStorage:()=>h,routeModule:()=>f,serverHooks:()=>y,staticGenerationAsyncStorage:()=>v});var s={};r.r(s),r.d(s,{POST:()=>m,dynamic:()=>l});var n=r(3025),a=r(45086),o=r(74048),i=r(24517),d=r(78649),u=r(60154),c=r(77605);let l="force-dynamic",p=["assign","release"];async function m(e,{params:t}){try{let r=await (0,u.mk)(await (0,c.headers)()),{name:s,action:n}=await t;if(!p.includes(n))return i.NextResponse.json({error:"BadRequest",message:`Invalid action: ${n}`},{status:400});let a=(0,d.F0)({username:r.user.name||r.user.email,role:r.user.role||"user"});switch(n){case"assign":{let t=await e.json();if(!t.serverName)return i.NextResponse.json({error:"BadRequest",message:"serverName is required"},{status:400});let r=await a.assignWorld(s,t.serverName);return i.NextResponse.json(r)}case"release":{let{searchParams:t}=new URL(e.url),r="true"===t.get("force"),n=await a.releaseWorld(s,r);return i.NextResponse.json(n)}default:return i.NextResponse.json({error:"BadRequest",message:`Invalid action: ${n}`},{status:400})}}catch(e){if(e instanceof u.l4)return i.NextResponse.json({error:"Unauthorized",message:e.message},{status:e.statusCode});if(e instanceof d.zB)return i.NextResponse.json({error:e.error,message:e.message},{status:e.statusCode});return console.error("Failed to execute action:",e),i.NextResponse.json({error:"InternalServerError",message:"Failed to execute action"},{status:500})}}let f=new n.AppRouteRouteModule({definition:{kind:a.x.APP_ROUTE,page:"/api/worlds/[name]/[action]/route",pathname:"/api/worlds/[name]/[action]",filename:"route",bundlePath:"app/api/worlds/[name]/[action]/route"},resolvedPagePath:"/home/runner/work/minecraft-server-manager/minecraft-server-manager/platform/services/mcctl-console/src/app/api/worlds/[name]/[action]/route.ts",nextConfigOutput:"standalone",userland:s}),{requestAsyncStorage:h,staticGenerationAsyncStorage:v,serverHooks:y}=f,g="/api/worlds/[name]/[action]/route";function _(){return(0,o.patchFetch)({serverHooks:y,staticGenerationAsyncStorage:v})}},78649:(e,t,r)=>{r.d(t,{F0:()=>a,zB:()=>s});class s extends Error{constructor(e,t,r){super(r),this.statusCode=e,this.error=t,this.name="McctlApiError"}}class n{constructor(e){this.baseUrl=e.baseUrl.replace(/\/$/,""),this.apiKey=e.apiKey,this.userContext=e.userContext}async fetch(e,t={}){let r=`${this.baseUrl}${e}`,n={"X-API-Key":this.apiKey};t.body&&(n["Content-Type"]="application/json"),this.userContext&&(n["X-User"]=this.userContext.username,n["X-Role"]=this.userContext.role);let a=await fetch(r,{...t,headers:{...n,...t.headers}});if(!a.ok){let e=await a.json().catch(()=>({error:"UnknownError",message:a.statusText}));throw new s(a.status,e.error,e.message)}return a.json()}async getServers(){return this.fetch("/api/servers")}async getServer(e){return this.fetch(`/api/servers/${encodeURIComponent(e)}`)}async createServer(e){return this.fetch("/api/servers",{method:"POST",body:JSON.stringify(e)})}async deleteServer(e,t){return this.fetch(`/api/servers/${encodeURIComponent(e)}${t?"?force=true":""}`,{method:"DELETE"})}async startServer(e){return this.fetch(`/api/servers/${encodeURIComponent(e)}/start`,{method:"POST"})}async stopServer(e){return this.fetch(`/api/servers/${encodeURIComponent(e)}/stop`,{method:"POST"})}async restartServer(e){return this.fetch(`/api/servers/${encodeURIComponent(e)}/restart`,{method:"POST"})}async execCommand(e,t){return this.fetch(`/api/servers/${encodeURIComponent(e)}/exec`,{method:"POST",body:JSON.stringify({command:t})})}async getLogs(e,t=100){return this.fetch(`/api/servers/${encodeURIComponent(e)}/logs?lines=${t}`)}async getWorlds(){return this.fetch("/api/worlds")}async getWorld(e){return this.fetch(`/api/worlds/${encodeURIComponent(e)}`)}async createWorld(e){return this.fetch("/api/worlds",{method:"POST",body:JSON.stringify(e)})}async assignWorld(e,t){return this.fetch(`/api/worlds/${encodeURIComponent(e)}/assign`,{method:"POST",body:JSON.stringify({serverName:t})})}async releaseWorld(e,t){return this.fetch(`/api/worlds/${encodeURIComponent(e)}/release${t?"?force=true":""}`,{method:"POST"})}async deleteWorld(e,t){return this.fetch(`/api/worlds/${encodeURIComponent(e)}${t?"?force=true":""}`,{method:"DELETE"})}async getServerConfig(e){return this.fetch(`/api/servers/${encodeURIComponent(e)}/config`)}async updateServerConfig(e,t){return this.fetch(`/api/servers/${encodeURIComponent(e)}/config`,{method:"PATCH",body:JSON.stringify(t)})}async resetWorld(e){return this.fetch(`/api/servers/${encodeURIComponent(e)}/world/reset`,{method:"POST"})}async getRouterStatus(){return this.fetch("/api/router/status")}async getBackupStatus(){return this.fetch("/api/backup/status")}async pushBackup(e){let t=e?JSON.stringify({message:e}):void 0;return this.fetch("/api/backup/push",{method:"POST",body:t})}async getBackupHistory(e=20){return this.fetch(`/api/backup/history?limit=${e}`)}async restoreBackup(e){return this.fetch("/api/backup/restore",{method:"POST",body:JSON.stringify({commitHash:e})})}}function a(e){let t=process.env.MCCTL_API_URL||"http://localhost:5001",r=process.env.MCCTL_API_KEY||"";return r||console.warn("MCCTL_API_KEY is not set. API requests may fail."),new n({baseUrl:t,apiKey:r,userContext:e})}},60154:(e,t,r)=>{r.d(t,{Ke:()=>c,kF:()=>u,l4:()=>i,mk:()=>d});var s=r(31969),n=r(22587),a=r(8290),o=r(30579);class i extends Error{constructor(e,t=401){super(e),this.statusCode=t,this.name="AuthError"}}async function d(e){let t=await s.I.api.getSession({headers:e});if(!t)throw new i("Unauthorized",401);return t}async function u(e){let t=await d(e);if("admin"!==t.user.role)throw new i("Forbidden: Admin access required",403);return t}async function c(e,t,r="view"){let s=await d(e);if("admin"===s.user.role)return s;let u=await n.db.select().from(a.userServers).where((0,o.xD)((0,o.eq)(a.userServers.userId,s.user.id),(0,o.eq)(a.userServers.serverId,t))).limit(1);if(0===u.length)throw new i("Forbidden: No access to this server",403);let c=u[0].permission,l={view:1,manage:2,admin:3};if(l[c]<l[r])throw new i(`Forbidden: Requires ${r} permission`,403);return s}},31969:(e,t,r)=>{r.d(t,{I:()=>d});var s=r(33580),n=r(5944),a=r(90224),o=r(22587),i=r(8290);let d=(0,s.kj)({database:(0,n.s)(o.db,{provider:"sqlite",schema:{user:i.users,session:i.sessions,account:i.accounts,verification:i.verifications}}),emailAndPassword:{enabled:!0,requireEmailVerification:!1},session:{expiresIn:604800,updateAge:86400,cookieCache:{enabled:!0,maxAge:300}},user:{additionalFields:{role:{type:"string",required:!1,defaultValue:"user",input:!1}}},plugins:[(0,a.SA)({defaultRole:"user",adminRole:"admin"})],trustedOrigins:["http://localhost:5000","http://localhost:3000",process.env.BETTER_AUTH_URL||"http://localhost:5000"].filter(Boolean)})},22587:(e,t,r)=>{r.d(t,{db:()=>p});var s=r(85890),n=r.n(s),a=r(31590),o=r(8290),i=r(55315),d=r.n(i),u=r(92048);let c=function(){if(process.env.DATABASE_URL)return process.env.DATABASE_URL;let e=d().join(process.cwd(),"data");return d().join(e,"mcctl.db")}();!function(e){if(":memory:"===e)return;let t=d().dirname(e);(0,u.existsSync)(t)||(0,u.mkdirSync)(t,{recursive:!0})}(c);let l=new(n())(c);l.pragma("journal_mode = WAL");let p=(0,a.t)(l,{schema:o})},8290:(e,t,r)=>{r.r(t),r.d(t,{accounts:()=>u,sessions:()=>d,userServers:()=>l,users:()=>i,verifications:()=>c});var s=r(80722),n=r(10160),a=r(30304),o=r(76303);let i=(0,s.Px)("users",{id:(0,n.fL)("id").primaryKey(),name:(0,n.fL)("name").notNull(),email:(0,n.fL)("email").notNull().unique(),emailVerified:(0,a._L)("email_verified",{mode:"boolean"}).notNull().default(!1),image:(0,n.fL)("image"),role:(0,n.fL)("role").notNull().default("user"),banned:(0,a._L)("banned",{mode:"boolean"}).default(!1),banReason:(0,n.fL)("ban_reason"),banExpires:(0,a._L)("ban_expires",{mode:"timestamp"}),createdAt:(0,a._L)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,a._L)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),d=(0,s.Px)("sessions",{id:(0,n.fL)("id").primaryKey(),expiresAt:(0,a._L)("expires_at",{mode:"timestamp"}).notNull(),token:(0,n.fL)("token").notNull().unique(),ipAddress:(0,n.fL)("ip_address"),userAgent:(0,n.fL)("user_agent"),userId:(0,n.fL)("user_id").notNull().references(()=>i.id,{onDelete:"cascade"}),createdAt:(0,a._L)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,a._L)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),u=(0,s.Px)("accounts",{id:(0,n.fL)("id").primaryKey(),accountId:(0,n.fL)("account_id").notNull(),providerId:(0,n.fL)("provider_id").notNull(),userId:(0,n.fL)("user_id").notNull().references(()=>i.id,{onDelete:"cascade"}),accessToken:(0,n.fL)("access_token"),refreshToken:(0,n.fL)("refresh_token"),idToken:(0,n.fL)("id_token"),accessTokenExpiresAt:(0,a._L)("access_token_expires_at",{mode:"timestamp"}),refreshTokenExpiresAt:(0,a._L)("refresh_token_expires_at",{mode:"timestamp"}),scope:(0,n.fL)("scope"),password:(0,n.fL)("password"),createdAt:(0,a._L)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,a._L)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),c=(0,s.Px)("verifications",{id:(0,n.fL)("id").primaryKey(),identifier:(0,n.fL)("identifier").notNull(),value:(0,n.fL)("value").notNull(),expiresAt:(0,a._L)("expires_at",{mode:"timestamp"}).notNull(),createdAt:(0,a._L)("created_at",{mode:"timestamp"}).$defaultFn(()=>new Date),updatedAt:(0,a._L)("updated_at",{mode:"timestamp"}).$defaultFn(()=>new Date)}),l=(0,s.Px)("user_servers",{id:(0,n.fL)("id").primaryKey().$defaultFn(()=>crypto.randomUUID()),userId:(0,n.fL)("user_id").notNull().references(()=>i.id,{onDelete:"cascade"}),serverId:(0,n.fL)("server_id").notNull(),permission:(0,n.fL)("permission").$type().notNull().default("view"),createdAt:(0,a._L)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,a._L)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},e=>({userServerIdx:(0,o.Kz)("user_server_idx").on(e.userId,e.serverId)}))}};var t=require("../../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[9836,1489,7605,5309],()=>r(26482));module.exports=s})();
1
+ "use strict";(()=>{var e={};e.id=1914,e.ids=[1914],e.modules={85890:e=>{e.exports=require("better-sqlite3")},72934:e=>{e.exports=require("next/dist/client/components/action-async-storage.external.js")},54580:e=>{e.exports=require("next/dist/client/components/request-async-storage.external.js")},45869:e=>{e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},20399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},30517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},92048:e=>{e.exports=require("fs")},55315:e=>{e.exports=require("path")},26482:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>_,patchFetch:()=>g,requestAsyncStorage:()=>h,routeModule:()=>f,serverHooks:()=>y,staticGenerationAsyncStorage:()=>v});var s={};r.r(s),r.d(s,{POST:()=>m,dynamic:()=>l});var n=r(3025),a=r(45086),o=r(74048),i=r(24517),d=r(78649),u=r(60154),c=r(77605);let l="force-dynamic",p=["assign","release"];async function m(e,{params:t}){try{let r=await (0,u.mk)(await (0,c.headers)()),{name:s,action:n}=await t;if(!p.includes(n))return i.NextResponse.json({error:"BadRequest",message:`Invalid action: ${n}`},{status:400});let a=(0,d.F0)({username:r.user.name||r.user.email,role:r.user.role||"user"});switch(n){case"assign":{let t=await e.json();if(!t.serverName)return i.NextResponse.json({error:"BadRequest",message:"serverName is required"},{status:400});let r=await a.assignWorld(s,t.serverName);return i.NextResponse.json(r)}case"release":{let{searchParams:t}=new URL(e.url),r="true"===t.get("force"),n=await a.releaseWorld(s,r);return i.NextResponse.json(n)}default:return i.NextResponse.json({error:"BadRequest",message:`Invalid action: ${n}`},{status:400})}}catch(e){if(e instanceof u.l4)return i.NextResponse.json({error:"Unauthorized",message:e.message},{status:e.statusCode});if(e instanceof d.zB)return i.NextResponse.json({error:e.error,message:e.message},{status:e.statusCode});return console.error("Failed to execute action:",e),i.NextResponse.json({error:"InternalServerError",message:"Failed to execute action"},{status:500})}}let f=new n.AppRouteRouteModule({definition:{kind:a.x.APP_ROUTE,page:"/api/worlds/[name]/[action]/route",pathname:"/api/worlds/[name]/[action]",filename:"route",bundlePath:"app/api/worlds/[name]/[action]/route"},resolvedPagePath:"/home/runner/work/minecraft-server-manager/minecraft-server-manager/platform/services/mcctl-console/src/app/api/worlds/[name]/[action]/route.ts",nextConfigOutput:"standalone",userland:s}),{requestAsyncStorage:h,staticGenerationAsyncStorage:v,serverHooks:y}=f,_="/api/worlds/[name]/[action]/route";function g(){return(0,o.patchFetch)({serverHooks:y,staticGenerationAsyncStorage:v})}},78649:(e,t,r)=>{r.d(t,{F0:()=>a,zB:()=>s});class s extends Error{constructor(e,t,r){super(r),this.statusCode=e,this.error=t,this.name="McctlApiError"}}class n{constructor(e){this.baseUrl=e.baseUrl.replace(/\/$/,""),this.apiKey=e.apiKey,this.userContext=e.userContext}async fetch(e,t={}){let r=`${this.baseUrl}${e}`,n={"X-API-Key":this.apiKey};t.body&&(n["Content-Type"]="application/json"),this.userContext&&(n["X-User"]=this.userContext.username,n["X-Role"]=this.userContext.role);let a=await fetch(r,{...t,headers:{...n,...t.headers}});if(!a.ok){let e=await a.json().catch(()=>({error:"UnknownError",message:a.statusText}));throw new s(a.status,e.error,e.message)}return a.json()}async getServers(){return this.fetch("/api/servers")}async getServer(e){return this.fetch(`/api/servers/${encodeURIComponent(e)}`)}async createServer(e){return this.fetch("/api/servers",{method:"POST",body:JSON.stringify(e)})}async deleteServer(e,t){return this.fetch(`/api/servers/${encodeURIComponent(e)}${t?"?force=true":""}`,{method:"DELETE"})}async startServer(e){return this.fetch(`/api/servers/${encodeURIComponent(e)}/start`,{method:"POST"})}async stopServer(e){return this.fetch(`/api/servers/${encodeURIComponent(e)}/stop`,{method:"POST"})}async restartServer(e){return this.fetch(`/api/servers/${encodeURIComponent(e)}/restart`,{method:"POST"})}async execCommand(e,t){return this.fetch(`/api/servers/${encodeURIComponent(e)}/exec`,{method:"POST",body:JSON.stringify({command:t})})}async getLogs(e,t=100){return this.fetch(`/api/servers/${encodeURIComponent(e)}/logs?lines=${t}`)}async getWorlds(){return this.fetch("/api/worlds")}async getWorld(e){return this.fetch(`/api/worlds/${encodeURIComponent(e)}`)}async createWorld(e){return this.fetch("/api/worlds",{method:"POST",body:JSON.stringify(e)})}async assignWorld(e,t){return this.fetch(`/api/worlds/${encodeURIComponent(e)}/assign`,{method:"POST",body:JSON.stringify({serverName:t})})}async releaseWorld(e,t){return this.fetch(`/api/worlds/${encodeURIComponent(e)}/release${t?"?force=true":""}`,{method:"POST"})}async deleteWorld(e,t){return this.fetch(`/api/worlds/${encodeURIComponent(e)}${t?"?force=true":""}`,{method:"DELETE"})}async getServerConfig(e){return this.fetch(`/api/servers/${encodeURIComponent(e)}/config`)}async updateServerConfig(e,t){return this.fetch(`/api/servers/${encodeURIComponent(e)}/config`,{method:"PATCH",body:JSON.stringify(t)})}async resetWorld(e){return this.fetch(`/api/servers/${encodeURIComponent(e)}/world/reset`,{method:"POST"})}async getRouterStatus(){return this.fetch("/api/router/status")}async getBackupStatus(){return this.fetch("/api/backup/status")}async pushBackup(e){let t=e?JSON.stringify({message:e}):void 0;return this.fetch("/api/backup/push",{method:"POST",body:t})}async getBackupHistory(e=20){return this.fetch(`/api/backup/history?limit=${e}`)}async restoreBackup(e){return this.fetch("/api/backup/restore",{method:"POST",body:JSON.stringify({commitHash:e})})}}function a(e){let t=process.env.MCCTL_API_URL||"http://localhost:5001",r=process.env.MCCTL_API_KEY||"";return r||console.warn("MCCTL_API_KEY is not set. API requests may fail."),new n({baseUrl:t,apiKey:r,userContext:e})}},60154:(e,t,r)=>{r.d(t,{Ke:()=>c,kF:()=>u,l4:()=>i,mk:()=>d});var s=r(31969),n=r(22587),a=r(8290),o=r(30579);class i extends Error{constructor(e,t=401){super(e),this.statusCode=t,this.name="AuthError"}}async function d(e){let t=await s.I.api.getSession({headers:e});if(!t)throw new i("Unauthorized",401);return t}async function u(e){let t=await d(e);if("admin"!==t.user.role)throw new i("Forbidden: Admin access required",403);return t}async function c(e,t,r="view"){let s=await d(e);if("admin"===s.user.role)return s;let u=await n.db.select().from(a.userServers).where((0,o.xD)((0,o.eq)(a.userServers.userId,s.user.id),(0,o.eq)(a.userServers.serverId,t))).limit(1);if(0===u.length)throw new i("Forbidden: No access to this server",403);let c=u[0].permission,l={view:1,manage:2,admin:3};if(l[c]<l[r])throw new i(`Forbidden: Requires ${r} permission`,403);return s}},31969:(e,t,r)=>{r.d(t,{I:()=>d});var s=r(33580),n=r(5944),a=r(90224),o=r(22587),i=r(8290);let d=(0,s.kj)({database:(0,n.s)(o.db,{provider:"sqlite",schema:{user:i.users,session:i.sessions,account:i.accounts,verification:i.verifications}}),emailAndPassword:{enabled:!0,requireEmailVerification:!1},session:{expiresIn:604800,updateAge:86400,cookieCache:{enabled:!0,maxAge:300}},user:{additionalFields:{role:{type:"string",required:!1,defaultValue:"user",input:!1}}},plugins:[(0,a.SA)({defaultRole:"user",adminRole:"admin"})],trustedOrigins:["http://localhost:5000","http://localhost:3000",...process.env.BETTER_AUTH_URL?[process.env.BETTER_AUTH_URL]:[],...process.env.NEXT_PUBLIC_APP_URL?[process.env.NEXT_PUBLIC_APP_URL]:[]]})},22587:(e,t,r)=>{r.d(t,{db:()=>p});var s=r(85890),n=r.n(s),a=r(31590),o=r(8290),i=r(55315),d=r.n(i),u=r(92048);let c=function(){if(process.env.DATABASE_URL)return process.env.DATABASE_URL;let e=d().join(process.cwd(),"data");return d().join(e,"mcctl.db")}();!function(e){if(":memory:"===e)return;let t=d().dirname(e);(0,u.existsSync)(t)||(0,u.mkdirSync)(t,{recursive:!0})}(c);let l=new(n())(c);l.pragma("journal_mode = WAL");let p=(0,a.t)(l,{schema:o})},8290:(e,t,r)=>{r.r(t),r.d(t,{accounts:()=>u,sessions:()=>d,userServers:()=>l,users:()=>i,verifications:()=>c});var s=r(80722),n=r(10160),a=r(30304),o=r(76303);let i=(0,s.Px)("users",{id:(0,n.fL)("id").primaryKey(),name:(0,n.fL)("name").notNull(),email:(0,n.fL)("email").notNull().unique(),emailVerified:(0,a._L)("email_verified",{mode:"boolean"}).notNull().default(!1),image:(0,n.fL)("image"),role:(0,n.fL)("role").notNull().default("user"),banned:(0,a._L)("banned",{mode:"boolean"}).default(!1),banReason:(0,n.fL)("ban_reason"),banExpires:(0,a._L)("ban_expires",{mode:"timestamp"}),createdAt:(0,a._L)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,a._L)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),d=(0,s.Px)("sessions",{id:(0,n.fL)("id").primaryKey(),expiresAt:(0,a._L)("expires_at",{mode:"timestamp"}).notNull(),token:(0,n.fL)("token").notNull().unique(),ipAddress:(0,n.fL)("ip_address"),userAgent:(0,n.fL)("user_agent"),userId:(0,n.fL)("user_id").notNull().references(()=>i.id,{onDelete:"cascade"}),createdAt:(0,a._L)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,a._L)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),u=(0,s.Px)("accounts",{id:(0,n.fL)("id").primaryKey(),accountId:(0,n.fL)("account_id").notNull(),providerId:(0,n.fL)("provider_id").notNull(),userId:(0,n.fL)("user_id").notNull().references(()=>i.id,{onDelete:"cascade"}),accessToken:(0,n.fL)("access_token"),refreshToken:(0,n.fL)("refresh_token"),idToken:(0,n.fL)("id_token"),accessTokenExpiresAt:(0,a._L)("access_token_expires_at",{mode:"timestamp"}),refreshTokenExpiresAt:(0,a._L)("refresh_token_expires_at",{mode:"timestamp"}),scope:(0,n.fL)("scope"),password:(0,n.fL)("password"),createdAt:(0,a._L)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,a._L)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),c=(0,s.Px)("verifications",{id:(0,n.fL)("id").primaryKey(),identifier:(0,n.fL)("identifier").notNull(),value:(0,n.fL)("value").notNull(),expiresAt:(0,a._L)("expires_at",{mode:"timestamp"}).notNull(),createdAt:(0,a._L)("created_at",{mode:"timestamp"}).$defaultFn(()=>new Date),updatedAt:(0,a._L)("updated_at",{mode:"timestamp"}).$defaultFn(()=>new Date)}),l=(0,s.Px)("user_servers",{id:(0,n.fL)("id").primaryKey().$defaultFn(()=>crypto.randomUUID()),userId:(0,n.fL)("user_id").notNull().references(()=>i.id,{onDelete:"cascade"}),serverId:(0,n.fL)("server_id").notNull(),permission:(0,n.fL)("permission").$type().notNull().default("view"),createdAt:(0,a._L)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,a._L)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},e=>({userServerIdx:(0,o.Kz)("user_server_idx").on(e.userId,e.serverId)}))}};var t=require("../../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[9836,1489,7605,5309],()=>r(26482));module.exports=s})();
@@ -1 +1 @@
1
- "use strict";(()=>{var e={};e.id=5746,e.ids=[5746],e.modules={85890:e=>{e.exports=require("better-sqlite3")},72934:e=>{e.exports=require("next/dist/client/components/action-async-storage.external.js")},54580:e=>{e.exports=require("next/dist/client/components/request-async-storage.external.js")},45869:e=>{e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},20399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},30517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},92048:e=>{e.exports=require("fs")},55315:e=>{e.exports=require("path")},20062:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>g,patchFetch:()=>_,requestAsyncStorage:()=>y,routeModule:()=>h,serverHooks:()=>w,staticGenerationAsyncStorage:()=>v});var s={};r.r(s),r.d(s,{DELETE:()=>f,GET:()=>m,dynamic:()=>l});var n=r(3025),a=r(45086),o=r(74048),i=r(24517),d=r(78649),u=r(60154),c=r(77605);let l="force-dynamic";function p(e){return{username:e.user.name||e.user.email,role:e.user.role||"user"}}async function m(e,{params:t}){try{let e=await (0,u.mk)(await (0,c.headers)()),{name:r}=await t,s=(0,d.F0)(p(e)),n=await s.getWorld(r);return i.NextResponse.json(n)}catch(e){if(e instanceof u.l4)return i.NextResponse.json({error:"Unauthorized",message:e.message},{status:e.statusCode});if(e instanceof d.zB)return i.NextResponse.json({error:e.error,message:e.message},{status:e.statusCode});return console.error("Failed to fetch world:",e),i.NextResponse.json({error:"InternalServerError",message:"Failed to fetch world details"},{status:500})}}async function f(e,{params:t}){try{let r=await (0,u.kF)(await (0,c.headers)()),{name:s}=await t,{searchParams:n}=new URL(e.url),a="true"===n.get("force"),o=(0,d.F0)(p(r)),l=await o.deleteWorld(s,a);return i.NextResponse.json(l)}catch(e){if(e instanceof u.l4)return i.NextResponse.json({error:"Forbidden",message:e.message},{status:e.statusCode});if(e instanceof d.zB)return i.NextResponse.json({error:e.error,message:e.message},{status:e.statusCode});return console.error("Failed to delete world:",e),i.NextResponse.json({error:"InternalServerError",message:"Failed to delete world"},{status:500})}}let h=new n.AppRouteRouteModule({definition:{kind:a.x.APP_ROUTE,page:"/api/worlds/[name]/route",pathname:"/api/worlds/[name]",filename:"route",bundlePath:"app/api/worlds/[name]/route"},resolvedPagePath:"/home/runner/work/minecraft-server-manager/minecraft-server-manager/platform/services/mcctl-console/src/app/api/worlds/[name]/route.ts",nextConfigOutput:"standalone",userland:s}),{requestAsyncStorage:y,staticGenerationAsyncStorage:v,serverHooks:w}=h,g="/api/worlds/[name]/route";function _(){return(0,o.patchFetch)({serverHooks:w,staticGenerationAsyncStorage:v})}},78649:(e,t,r)=>{r.d(t,{F0:()=>a,zB:()=>s});class s extends Error{constructor(e,t,r){super(r),this.statusCode=e,this.error=t,this.name="McctlApiError"}}class n{constructor(e){this.baseUrl=e.baseUrl.replace(/\/$/,""),this.apiKey=e.apiKey,this.userContext=e.userContext}async fetch(e,t={}){let r=`${this.baseUrl}${e}`,n={"X-API-Key":this.apiKey};t.body&&(n["Content-Type"]="application/json"),this.userContext&&(n["X-User"]=this.userContext.username,n["X-Role"]=this.userContext.role);let a=await fetch(r,{...t,headers:{...n,...t.headers}});if(!a.ok){let e=await a.json().catch(()=>({error:"UnknownError",message:a.statusText}));throw new s(a.status,e.error,e.message)}return a.json()}async getServers(){return this.fetch("/api/servers")}async getServer(e){return this.fetch(`/api/servers/${encodeURIComponent(e)}`)}async createServer(e){return this.fetch("/api/servers",{method:"POST",body:JSON.stringify(e)})}async deleteServer(e,t){return this.fetch(`/api/servers/${encodeURIComponent(e)}${t?"?force=true":""}`,{method:"DELETE"})}async startServer(e){return this.fetch(`/api/servers/${encodeURIComponent(e)}/start`,{method:"POST"})}async stopServer(e){return this.fetch(`/api/servers/${encodeURIComponent(e)}/stop`,{method:"POST"})}async restartServer(e){return this.fetch(`/api/servers/${encodeURIComponent(e)}/restart`,{method:"POST"})}async execCommand(e,t){return this.fetch(`/api/servers/${encodeURIComponent(e)}/exec`,{method:"POST",body:JSON.stringify({command:t})})}async getLogs(e,t=100){return this.fetch(`/api/servers/${encodeURIComponent(e)}/logs?lines=${t}`)}async getWorlds(){return this.fetch("/api/worlds")}async getWorld(e){return this.fetch(`/api/worlds/${encodeURIComponent(e)}`)}async createWorld(e){return this.fetch("/api/worlds",{method:"POST",body:JSON.stringify(e)})}async assignWorld(e,t){return this.fetch(`/api/worlds/${encodeURIComponent(e)}/assign`,{method:"POST",body:JSON.stringify({serverName:t})})}async releaseWorld(e,t){return this.fetch(`/api/worlds/${encodeURIComponent(e)}/release${t?"?force=true":""}`,{method:"POST"})}async deleteWorld(e,t){return this.fetch(`/api/worlds/${encodeURIComponent(e)}${t?"?force=true":""}`,{method:"DELETE"})}async getServerConfig(e){return this.fetch(`/api/servers/${encodeURIComponent(e)}/config`)}async updateServerConfig(e,t){return this.fetch(`/api/servers/${encodeURIComponent(e)}/config`,{method:"PATCH",body:JSON.stringify(t)})}async resetWorld(e){return this.fetch(`/api/servers/${encodeURIComponent(e)}/world/reset`,{method:"POST"})}async getRouterStatus(){return this.fetch("/api/router/status")}async getBackupStatus(){return this.fetch("/api/backup/status")}async pushBackup(e){let t=e?JSON.stringify({message:e}):void 0;return this.fetch("/api/backup/push",{method:"POST",body:t})}async getBackupHistory(e=20){return this.fetch(`/api/backup/history?limit=${e}`)}async restoreBackup(e){return this.fetch("/api/backup/restore",{method:"POST",body:JSON.stringify({commitHash:e})})}}function a(e){let t=process.env.MCCTL_API_URL||"http://localhost:5001",r=process.env.MCCTL_API_KEY||"";return r||console.warn("MCCTL_API_KEY is not set. API requests may fail."),new n({baseUrl:t,apiKey:r,userContext:e})}},60154:(e,t,r)=>{r.d(t,{Ke:()=>c,kF:()=>u,l4:()=>i,mk:()=>d});var s=r(31969),n=r(22587),a=r(8290),o=r(30579);class i extends Error{constructor(e,t=401){super(e),this.statusCode=t,this.name="AuthError"}}async function d(e){let t=await s.I.api.getSession({headers:e});if(!t)throw new i("Unauthorized",401);return t}async function u(e){let t=await d(e);if("admin"!==t.user.role)throw new i("Forbidden: Admin access required",403);return t}async function c(e,t,r="view"){let s=await d(e);if("admin"===s.user.role)return s;let u=await n.db.select().from(a.userServers).where((0,o.xD)((0,o.eq)(a.userServers.userId,s.user.id),(0,o.eq)(a.userServers.serverId,t))).limit(1);if(0===u.length)throw new i("Forbidden: No access to this server",403);let c=u[0].permission,l={view:1,manage:2,admin:3};if(l[c]<l[r])throw new i(`Forbidden: Requires ${r} permission`,403);return s}},31969:(e,t,r)=>{r.d(t,{I:()=>d});var s=r(33580),n=r(5944),a=r(90224),o=r(22587),i=r(8290);let d=(0,s.kj)({database:(0,n.s)(o.db,{provider:"sqlite",schema:{user:i.users,session:i.sessions,account:i.accounts,verification:i.verifications}}),emailAndPassword:{enabled:!0,requireEmailVerification:!1},session:{expiresIn:604800,updateAge:86400,cookieCache:{enabled:!0,maxAge:300}},user:{additionalFields:{role:{type:"string",required:!1,defaultValue:"user",input:!1}}},plugins:[(0,a.SA)({defaultRole:"user",adminRole:"admin"})],trustedOrigins:["http://localhost:5000","http://localhost:3000",process.env.BETTER_AUTH_URL||"http://localhost:5000"].filter(Boolean)})},22587:(e,t,r)=>{r.d(t,{db:()=>p});var s=r(85890),n=r.n(s),a=r(31590),o=r(8290),i=r(55315),d=r.n(i),u=r(92048);let c=function(){if(process.env.DATABASE_URL)return process.env.DATABASE_URL;let e=d().join(process.cwd(),"data");return d().join(e,"mcctl.db")}();!function(e){if(":memory:"===e)return;let t=d().dirname(e);(0,u.existsSync)(t)||(0,u.mkdirSync)(t,{recursive:!0})}(c);let l=new(n())(c);l.pragma("journal_mode = WAL");let p=(0,a.t)(l,{schema:o})},8290:(e,t,r)=>{r.r(t),r.d(t,{accounts:()=>u,sessions:()=>d,userServers:()=>l,users:()=>i,verifications:()=>c});var s=r(80722),n=r(10160),a=r(30304),o=r(76303);let i=(0,s.Px)("users",{id:(0,n.fL)("id").primaryKey(),name:(0,n.fL)("name").notNull(),email:(0,n.fL)("email").notNull().unique(),emailVerified:(0,a._L)("email_verified",{mode:"boolean"}).notNull().default(!1),image:(0,n.fL)("image"),role:(0,n.fL)("role").notNull().default("user"),banned:(0,a._L)("banned",{mode:"boolean"}).default(!1),banReason:(0,n.fL)("ban_reason"),banExpires:(0,a._L)("ban_expires",{mode:"timestamp"}),createdAt:(0,a._L)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,a._L)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),d=(0,s.Px)("sessions",{id:(0,n.fL)("id").primaryKey(),expiresAt:(0,a._L)("expires_at",{mode:"timestamp"}).notNull(),token:(0,n.fL)("token").notNull().unique(),ipAddress:(0,n.fL)("ip_address"),userAgent:(0,n.fL)("user_agent"),userId:(0,n.fL)("user_id").notNull().references(()=>i.id,{onDelete:"cascade"}),createdAt:(0,a._L)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,a._L)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),u=(0,s.Px)("accounts",{id:(0,n.fL)("id").primaryKey(),accountId:(0,n.fL)("account_id").notNull(),providerId:(0,n.fL)("provider_id").notNull(),userId:(0,n.fL)("user_id").notNull().references(()=>i.id,{onDelete:"cascade"}),accessToken:(0,n.fL)("access_token"),refreshToken:(0,n.fL)("refresh_token"),idToken:(0,n.fL)("id_token"),accessTokenExpiresAt:(0,a._L)("access_token_expires_at",{mode:"timestamp"}),refreshTokenExpiresAt:(0,a._L)("refresh_token_expires_at",{mode:"timestamp"}),scope:(0,n.fL)("scope"),password:(0,n.fL)("password"),createdAt:(0,a._L)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,a._L)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),c=(0,s.Px)("verifications",{id:(0,n.fL)("id").primaryKey(),identifier:(0,n.fL)("identifier").notNull(),value:(0,n.fL)("value").notNull(),expiresAt:(0,a._L)("expires_at",{mode:"timestamp"}).notNull(),createdAt:(0,a._L)("created_at",{mode:"timestamp"}).$defaultFn(()=>new Date),updatedAt:(0,a._L)("updated_at",{mode:"timestamp"}).$defaultFn(()=>new Date)}),l=(0,s.Px)("user_servers",{id:(0,n.fL)("id").primaryKey().$defaultFn(()=>crypto.randomUUID()),userId:(0,n.fL)("user_id").notNull().references(()=>i.id,{onDelete:"cascade"}),serverId:(0,n.fL)("server_id").notNull(),permission:(0,n.fL)("permission").$type().notNull().default("view"),createdAt:(0,a._L)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,a._L)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},e=>({userServerIdx:(0,o.Kz)("user_server_idx").on(e.userId,e.serverId)}))}};var t=require("../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[9836,1489,7605,5309],()=>r(20062));module.exports=s})();
1
+ "use strict";(()=>{var e={};e.id=5746,e.ids=[5746],e.modules={85890:e=>{e.exports=require("better-sqlite3")},72934:e=>{e.exports=require("next/dist/client/components/action-async-storage.external.js")},54580:e=>{e.exports=require("next/dist/client/components/request-async-storage.external.js")},45869:e=>{e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},20399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},30517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},92048:e=>{e.exports=require("fs")},55315:e=>{e.exports=require("path")},20062:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>w,patchFetch:()=>g,requestAsyncStorage:()=>y,routeModule:()=>h,serverHooks:()=>_,staticGenerationAsyncStorage:()=>v});var s={};r.r(s),r.d(s,{DELETE:()=>f,GET:()=>m,dynamic:()=>l});var n=r(3025),a=r(45086),o=r(74048),i=r(24517),d=r(78649),u=r(60154),c=r(77605);let l="force-dynamic";function p(e){return{username:e.user.name||e.user.email,role:e.user.role||"user"}}async function m(e,{params:t}){try{let e=await (0,u.mk)(await (0,c.headers)()),{name:r}=await t,s=(0,d.F0)(p(e)),n=await s.getWorld(r);return i.NextResponse.json(n)}catch(e){if(e instanceof u.l4)return i.NextResponse.json({error:"Unauthorized",message:e.message},{status:e.statusCode});if(e instanceof d.zB)return i.NextResponse.json({error:e.error,message:e.message},{status:e.statusCode});return console.error("Failed to fetch world:",e),i.NextResponse.json({error:"InternalServerError",message:"Failed to fetch world details"},{status:500})}}async function f(e,{params:t}){try{let r=await (0,u.kF)(await (0,c.headers)()),{name:s}=await t,{searchParams:n}=new URL(e.url),a="true"===n.get("force"),o=(0,d.F0)(p(r)),l=await o.deleteWorld(s,a);return i.NextResponse.json(l)}catch(e){if(e instanceof u.l4)return i.NextResponse.json({error:"Forbidden",message:e.message},{status:e.statusCode});if(e instanceof d.zB)return i.NextResponse.json({error:e.error,message:e.message},{status:e.statusCode});return console.error("Failed to delete world:",e),i.NextResponse.json({error:"InternalServerError",message:"Failed to delete world"},{status:500})}}let h=new n.AppRouteRouteModule({definition:{kind:a.x.APP_ROUTE,page:"/api/worlds/[name]/route",pathname:"/api/worlds/[name]",filename:"route",bundlePath:"app/api/worlds/[name]/route"},resolvedPagePath:"/home/runner/work/minecraft-server-manager/minecraft-server-manager/platform/services/mcctl-console/src/app/api/worlds/[name]/route.ts",nextConfigOutput:"standalone",userland:s}),{requestAsyncStorage:y,staticGenerationAsyncStorage:v,serverHooks:_}=h,w="/api/worlds/[name]/route";function g(){return(0,o.patchFetch)({serverHooks:_,staticGenerationAsyncStorage:v})}},78649:(e,t,r)=>{r.d(t,{F0:()=>a,zB:()=>s});class s extends Error{constructor(e,t,r){super(r),this.statusCode=e,this.error=t,this.name="McctlApiError"}}class n{constructor(e){this.baseUrl=e.baseUrl.replace(/\/$/,""),this.apiKey=e.apiKey,this.userContext=e.userContext}async fetch(e,t={}){let r=`${this.baseUrl}${e}`,n={"X-API-Key":this.apiKey};t.body&&(n["Content-Type"]="application/json"),this.userContext&&(n["X-User"]=this.userContext.username,n["X-Role"]=this.userContext.role);let a=await fetch(r,{...t,headers:{...n,...t.headers}});if(!a.ok){let e=await a.json().catch(()=>({error:"UnknownError",message:a.statusText}));throw new s(a.status,e.error,e.message)}return a.json()}async getServers(){return this.fetch("/api/servers")}async getServer(e){return this.fetch(`/api/servers/${encodeURIComponent(e)}`)}async createServer(e){return this.fetch("/api/servers",{method:"POST",body:JSON.stringify(e)})}async deleteServer(e,t){return this.fetch(`/api/servers/${encodeURIComponent(e)}${t?"?force=true":""}`,{method:"DELETE"})}async startServer(e){return this.fetch(`/api/servers/${encodeURIComponent(e)}/start`,{method:"POST"})}async stopServer(e){return this.fetch(`/api/servers/${encodeURIComponent(e)}/stop`,{method:"POST"})}async restartServer(e){return this.fetch(`/api/servers/${encodeURIComponent(e)}/restart`,{method:"POST"})}async execCommand(e,t){return this.fetch(`/api/servers/${encodeURIComponent(e)}/exec`,{method:"POST",body:JSON.stringify({command:t})})}async getLogs(e,t=100){return this.fetch(`/api/servers/${encodeURIComponent(e)}/logs?lines=${t}`)}async getWorlds(){return this.fetch("/api/worlds")}async getWorld(e){return this.fetch(`/api/worlds/${encodeURIComponent(e)}`)}async createWorld(e){return this.fetch("/api/worlds",{method:"POST",body:JSON.stringify(e)})}async assignWorld(e,t){return this.fetch(`/api/worlds/${encodeURIComponent(e)}/assign`,{method:"POST",body:JSON.stringify({serverName:t})})}async releaseWorld(e,t){return this.fetch(`/api/worlds/${encodeURIComponent(e)}/release${t?"?force=true":""}`,{method:"POST"})}async deleteWorld(e,t){return this.fetch(`/api/worlds/${encodeURIComponent(e)}${t?"?force=true":""}`,{method:"DELETE"})}async getServerConfig(e){return this.fetch(`/api/servers/${encodeURIComponent(e)}/config`)}async updateServerConfig(e,t){return this.fetch(`/api/servers/${encodeURIComponent(e)}/config`,{method:"PATCH",body:JSON.stringify(t)})}async resetWorld(e){return this.fetch(`/api/servers/${encodeURIComponent(e)}/world/reset`,{method:"POST"})}async getRouterStatus(){return this.fetch("/api/router/status")}async getBackupStatus(){return this.fetch("/api/backup/status")}async pushBackup(e){let t=e?JSON.stringify({message:e}):void 0;return this.fetch("/api/backup/push",{method:"POST",body:t})}async getBackupHistory(e=20){return this.fetch(`/api/backup/history?limit=${e}`)}async restoreBackup(e){return this.fetch("/api/backup/restore",{method:"POST",body:JSON.stringify({commitHash:e})})}}function a(e){let t=process.env.MCCTL_API_URL||"http://localhost:5001",r=process.env.MCCTL_API_KEY||"";return r||console.warn("MCCTL_API_KEY is not set. API requests may fail."),new n({baseUrl:t,apiKey:r,userContext:e})}},60154:(e,t,r)=>{r.d(t,{Ke:()=>c,kF:()=>u,l4:()=>i,mk:()=>d});var s=r(31969),n=r(22587),a=r(8290),o=r(30579);class i extends Error{constructor(e,t=401){super(e),this.statusCode=t,this.name="AuthError"}}async function d(e){let t=await s.I.api.getSession({headers:e});if(!t)throw new i("Unauthorized",401);return t}async function u(e){let t=await d(e);if("admin"!==t.user.role)throw new i("Forbidden: Admin access required",403);return t}async function c(e,t,r="view"){let s=await d(e);if("admin"===s.user.role)return s;let u=await n.db.select().from(a.userServers).where((0,o.xD)((0,o.eq)(a.userServers.userId,s.user.id),(0,o.eq)(a.userServers.serverId,t))).limit(1);if(0===u.length)throw new i("Forbidden: No access to this server",403);let c=u[0].permission,l={view:1,manage:2,admin:3};if(l[c]<l[r])throw new i(`Forbidden: Requires ${r} permission`,403);return s}},31969:(e,t,r)=>{r.d(t,{I:()=>d});var s=r(33580),n=r(5944),a=r(90224),o=r(22587),i=r(8290);let d=(0,s.kj)({database:(0,n.s)(o.db,{provider:"sqlite",schema:{user:i.users,session:i.sessions,account:i.accounts,verification:i.verifications}}),emailAndPassword:{enabled:!0,requireEmailVerification:!1},session:{expiresIn:604800,updateAge:86400,cookieCache:{enabled:!0,maxAge:300}},user:{additionalFields:{role:{type:"string",required:!1,defaultValue:"user",input:!1}}},plugins:[(0,a.SA)({defaultRole:"user",adminRole:"admin"})],trustedOrigins:["http://localhost:5000","http://localhost:3000",...process.env.BETTER_AUTH_URL?[process.env.BETTER_AUTH_URL]:[],...process.env.NEXT_PUBLIC_APP_URL?[process.env.NEXT_PUBLIC_APP_URL]:[]]})},22587:(e,t,r)=>{r.d(t,{db:()=>p});var s=r(85890),n=r.n(s),a=r(31590),o=r(8290),i=r(55315),d=r.n(i),u=r(92048);let c=function(){if(process.env.DATABASE_URL)return process.env.DATABASE_URL;let e=d().join(process.cwd(),"data");return d().join(e,"mcctl.db")}();!function(e){if(":memory:"===e)return;let t=d().dirname(e);(0,u.existsSync)(t)||(0,u.mkdirSync)(t,{recursive:!0})}(c);let l=new(n())(c);l.pragma("journal_mode = WAL");let p=(0,a.t)(l,{schema:o})},8290:(e,t,r)=>{r.r(t),r.d(t,{accounts:()=>u,sessions:()=>d,userServers:()=>l,users:()=>i,verifications:()=>c});var s=r(80722),n=r(10160),a=r(30304),o=r(76303);let i=(0,s.Px)("users",{id:(0,n.fL)("id").primaryKey(),name:(0,n.fL)("name").notNull(),email:(0,n.fL)("email").notNull().unique(),emailVerified:(0,a._L)("email_verified",{mode:"boolean"}).notNull().default(!1),image:(0,n.fL)("image"),role:(0,n.fL)("role").notNull().default("user"),banned:(0,a._L)("banned",{mode:"boolean"}).default(!1),banReason:(0,n.fL)("ban_reason"),banExpires:(0,a._L)("ban_expires",{mode:"timestamp"}),createdAt:(0,a._L)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,a._L)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),d=(0,s.Px)("sessions",{id:(0,n.fL)("id").primaryKey(),expiresAt:(0,a._L)("expires_at",{mode:"timestamp"}).notNull(),token:(0,n.fL)("token").notNull().unique(),ipAddress:(0,n.fL)("ip_address"),userAgent:(0,n.fL)("user_agent"),userId:(0,n.fL)("user_id").notNull().references(()=>i.id,{onDelete:"cascade"}),createdAt:(0,a._L)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,a._L)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),u=(0,s.Px)("accounts",{id:(0,n.fL)("id").primaryKey(),accountId:(0,n.fL)("account_id").notNull(),providerId:(0,n.fL)("provider_id").notNull(),userId:(0,n.fL)("user_id").notNull().references(()=>i.id,{onDelete:"cascade"}),accessToken:(0,n.fL)("access_token"),refreshToken:(0,n.fL)("refresh_token"),idToken:(0,n.fL)("id_token"),accessTokenExpiresAt:(0,a._L)("access_token_expires_at",{mode:"timestamp"}),refreshTokenExpiresAt:(0,a._L)("refresh_token_expires_at",{mode:"timestamp"}),scope:(0,n.fL)("scope"),password:(0,n.fL)("password"),createdAt:(0,a._L)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,a._L)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),c=(0,s.Px)("verifications",{id:(0,n.fL)("id").primaryKey(),identifier:(0,n.fL)("identifier").notNull(),value:(0,n.fL)("value").notNull(),expiresAt:(0,a._L)("expires_at",{mode:"timestamp"}).notNull(),createdAt:(0,a._L)("created_at",{mode:"timestamp"}).$defaultFn(()=>new Date),updatedAt:(0,a._L)("updated_at",{mode:"timestamp"}).$defaultFn(()=>new Date)}),l=(0,s.Px)("user_servers",{id:(0,n.fL)("id").primaryKey().$defaultFn(()=>crypto.randomUUID()),userId:(0,n.fL)("user_id").notNull().references(()=>i.id,{onDelete:"cascade"}),serverId:(0,n.fL)("server_id").notNull(),permission:(0,n.fL)("permission").$type().notNull().default("view"),createdAt:(0,a._L)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,a._L)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},e=>({userServerIdx:(0,o.Kz)("user_server_idx").on(e.userId,e.serverId)}))}};var t=require("../../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[9836,1489,7605,5309],()=>r(20062));module.exports=s})();
@@ -1 +1 @@
1
- "use strict";(()=>{var e={};e.id=6541,e.ids=[6541],e.modules={85890:e=>{e.exports=require("better-sqlite3")},72934:e=>{e.exports=require("next/dist/client/components/action-async-storage.external.js")},54580:e=>{e.exports=require("next/dist/client/components/request-async-storage.external.js")},45869:e=>{e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},20399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},30517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},92048:e=>{e.exports=require("fs")},55315:e=>{e.exports=require("path")},32527:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>_,patchFetch:()=>g,requestAsyncStorage:()=>y,routeModule:()=>h,serverHooks:()=>w,staticGenerationAsyncStorage:()=>v});var s={};r.r(s),r.d(s,{GET:()=>m,POST:()=>f,dynamic:()=>l});var n=r(3025),a=r(45086),o=r(74048),i=r(24517),d=r(78649),u=r(60154),c=r(77605);let l="force-dynamic";function p(e){return{username:e.user.name||e.user.email,role:e.user.role||"user"}}async function m(){try{let e=await (0,u.mk)(await (0,c.headers)()),t=(0,d.F0)(p(e)),r=await t.getWorlds();return i.NextResponse.json(r)}catch(e){if(e instanceof u.l4)return i.NextResponse.json({error:"Unauthorized",message:e.message},{status:e.statusCode});if(e instanceof d.zB)return i.NextResponse.json({error:e.error,message:e.message},{status:e.statusCode});return console.error("Failed to fetch worlds:",e),i.NextResponse.json({error:"InternalServerError",message:"Failed to fetch worlds"},{status:500})}}async function f(e){try{let t=await (0,u.mk)(await (0,c.headers)()),r=await e.json(),s=(0,d.F0)(p(t)),n=await s.createWorld(r);return i.NextResponse.json(n,{status:201})}catch(e){if(e instanceof u.l4)return i.NextResponse.json({error:"Unauthorized",message:e.message},{status:e.statusCode});if(e instanceof d.zB)return i.NextResponse.json({error:e.error,message:e.message},{status:e.statusCode});return console.error("Failed to create world:",e),i.NextResponse.json({error:"InternalServerError",message:"Failed to create world"},{status:500})}}let h=new n.AppRouteRouteModule({definition:{kind:a.x.APP_ROUTE,page:"/api/worlds/route",pathname:"/api/worlds",filename:"route",bundlePath:"app/api/worlds/route"},resolvedPagePath:"/home/runner/work/minecraft-server-manager/minecraft-server-manager/platform/services/mcctl-console/src/app/api/worlds/route.ts",nextConfigOutput:"standalone",userland:s}),{requestAsyncStorage:y,staticGenerationAsyncStorage:v,serverHooks:w}=h,_="/api/worlds/route";function g(){return(0,o.patchFetch)({serverHooks:w,staticGenerationAsyncStorage:v})}},78649:(e,t,r)=>{r.d(t,{F0:()=>a,zB:()=>s});class s extends Error{constructor(e,t,r){super(r),this.statusCode=e,this.error=t,this.name="McctlApiError"}}class n{constructor(e){this.baseUrl=e.baseUrl.replace(/\/$/,""),this.apiKey=e.apiKey,this.userContext=e.userContext}async fetch(e,t={}){let r=`${this.baseUrl}${e}`,n={"X-API-Key":this.apiKey};t.body&&(n["Content-Type"]="application/json"),this.userContext&&(n["X-User"]=this.userContext.username,n["X-Role"]=this.userContext.role);let a=await fetch(r,{...t,headers:{...n,...t.headers}});if(!a.ok){let e=await a.json().catch(()=>({error:"UnknownError",message:a.statusText}));throw new s(a.status,e.error,e.message)}return a.json()}async getServers(){return this.fetch("/api/servers")}async getServer(e){return this.fetch(`/api/servers/${encodeURIComponent(e)}`)}async createServer(e){return this.fetch("/api/servers",{method:"POST",body:JSON.stringify(e)})}async deleteServer(e,t){return this.fetch(`/api/servers/${encodeURIComponent(e)}${t?"?force=true":""}`,{method:"DELETE"})}async startServer(e){return this.fetch(`/api/servers/${encodeURIComponent(e)}/start`,{method:"POST"})}async stopServer(e){return this.fetch(`/api/servers/${encodeURIComponent(e)}/stop`,{method:"POST"})}async restartServer(e){return this.fetch(`/api/servers/${encodeURIComponent(e)}/restart`,{method:"POST"})}async execCommand(e,t){return this.fetch(`/api/servers/${encodeURIComponent(e)}/exec`,{method:"POST",body:JSON.stringify({command:t})})}async getLogs(e,t=100){return this.fetch(`/api/servers/${encodeURIComponent(e)}/logs?lines=${t}`)}async getWorlds(){return this.fetch("/api/worlds")}async getWorld(e){return this.fetch(`/api/worlds/${encodeURIComponent(e)}`)}async createWorld(e){return this.fetch("/api/worlds",{method:"POST",body:JSON.stringify(e)})}async assignWorld(e,t){return this.fetch(`/api/worlds/${encodeURIComponent(e)}/assign`,{method:"POST",body:JSON.stringify({serverName:t})})}async releaseWorld(e,t){return this.fetch(`/api/worlds/${encodeURIComponent(e)}/release${t?"?force=true":""}`,{method:"POST"})}async deleteWorld(e,t){return this.fetch(`/api/worlds/${encodeURIComponent(e)}${t?"?force=true":""}`,{method:"DELETE"})}async getServerConfig(e){return this.fetch(`/api/servers/${encodeURIComponent(e)}/config`)}async updateServerConfig(e,t){return this.fetch(`/api/servers/${encodeURIComponent(e)}/config`,{method:"PATCH",body:JSON.stringify(t)})}async resetWorld(e){return this.fetch(`/api/servers/${encodeURIComponent(e)}/world/reset`,{method:"POST"})}async getRouterStatus(){return this.fetch("/api/router/status")}async getBackupStatus(){return this.fetch("/api/backup/status")}async pushBackup(e){let t=e?JSON.stringify({message:e}):void 0;return this.fetch("/api/backup/push",{method:"POST",body:t})}async getBackupHistory(e=20){return this.fetch(`/api/backup/history?limit=${e}`)}async restoreBackup(e){return this.fetch("/api/backup/restore",{method:"POST",body:JSON.stringify({commitHash:e})})}}function a(e){let t=process.env.MCCTL_API_URL||"http://localhost:5001",r=process.env.MCCTL_API_KEY||"";return r||console.warn("MCCTL_API_KEY is not set. API requests may fail."),new n({baseUrl:t,apiKey:r,userContext:e})}},60154:(e,t,r)=>{r.d(t,{Ke:()=>c,kF:()=>u,l4:()=>i,mk:()=>d});var s=r(31969),n=r(22587),a=r(8290),o=r(30579);class i extends Error{constructor(e,t=401){super(e),this.statusCode=t,this.name="AuthError"}}async function d(e){let t=await s.I.api.getSession({headers:e});if(!t)throw new i("Unauthorized",401);return t}async function u(e){let t=await d(e);if("admin"!==t.user.role)throw new i("Forbidden: Admin access required",403);return t}async function c(e,t,r="view"){let s=await d(e);if("admin"===s.user.role)return s;let u=await n.db.select().from(a.userServers).where((0,o.xD)((0,o.eq)(a.userServers.userId,s.user.id),(0,o.eq)(a.userServers.serverId,t))).limit(1);if(0===u.length)throw new i("Forbidden: No access to this server",403);let c=u[0].permission,l={view:1,manage:2,admin:3};if(l[c]<l[r])throw new i(`Forbidden: Requires ${r} permission`,403);return s}},31969:(e,t,r)=>{r.d(t,{I:()=>d});var s=r(33580),n=r(5944),a=r(90224),o=r(22587),i=r(8290);let d=(0,s.kj)({database:(0,n.s)(o.db,{provider:"sqlite",schema:{user:i.users,session:i.sessions,account:i.accounts,verification:i.verifications}}),emailAndPassword:{enabled:!0,requireEmailVerification:!1},session:{expiresIn:604800,updateAge:86400,cookieCache:{enabled:!0,maxAge:300}},user:{additionalFields:{role:{type:"string",required:!1,defaultValue:"user",input:!1}}},plugins:[(0,a.SA)({defaultRole:"user",adminRole:"admin"})],trustedOrigins:["http://localhost:5000","http://localhost:3000",process.env.BETTER_AUTH_URL||"http://localhost:5000"].filter(Boolean)})},22587:(e,t,r)=>{r.d(t,{db:()=>p});var s=r(85890),n=r.n(s),a=r(31590),o=r(8290),i=r(55315),d=r.n(i),u=r(92048);let c=function(){if(process.env.DATABASE_URL)return process.env.DATABASE_URL;let e=d().join(process.cwd(),"data");return d().join(e,"mcctl.db")}();!function(e){if(":memory:"===e)return;let t=d().dirname(e);(0,u.existsSync)(t)||(0,u.mkdirSync)(t,{recursive:!0})}(c);let l=new(n())(c);l.pragma("journal_mode = WAL");let p=(0,a.t)(l,{schema:o})},8290:(e,t,r)=>{r.r(t),r.d(t,{accounts:()=>u,sessions:()=>d,userServers:()=>l,users:()=>i,verifications:()=>c});var s=r(80722),n=r(10160),a=r(30304),o=r(76303);let i=(0,s.Px)("users",{id:(0,n.fL)("id").primaryKey(),name:(0,n.fL)("name").notNull(),email:(0,n.fL)("email").notNull().unique(),emailVerified:(0,a._L)("email_verified",{mode:"boolean"}).notNull().default(!1),image:(0,n.fL)("image"),role:(0,n.fL)("role").notNull().default("user"),banned:(0,a._L)("banned",{mode:"boolean"}).default(!1),banReason:(0,n.fL)("ban_reason"),banExpires:(0,a._L)("ban_expires",{mode:"timestamp"}),createdAt:(0,a._L)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,a._L)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),d=(0,s.Px)("sessions",{id:(0,n.fL)("id").primaryKey(),expiresAt:(0,a._L)("expires_at",{mode:"timestamp"}).notNull(),token:(0,n.fL)("token").notNull().unique(),ipAddress:(0,n.fL)("ip_address"),userAgent:(0,n.fL)("user_agent"),userId:(0,n.fL)("user_id").notNull().references(()=>i.id,{onDelete:"cascade"}),createdAt:(0,a._L)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,a._L)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),u=(0,s.Px)("accounts",{id:(0,n.fL)("id").primaryKey(),accountId:(0,n.fL)("account_id").notNull(),providerId:(0,n.fL)("provider_id").notNull(),userId:(0,n.fL)("user_id").notNull().references(()=>i.id,{onDelete:"cascade"}),accessToken:(0,n.fL)("access_token"),refreshToken:(0,n.fL)("refresh_token"),idToken:(0,n.fL)("id_token"),accessTokenExpiresAt:(0,a._L)("access_token_expires_at",{mode:"timestamp"}),refreshTokenExpiresAt:(0,a._L)("refresh_token_expires_at",{mode:"timestamp"}),scope:(0,n.fL)("scope"),password:(0,n.fL)("password"),createdAt:(0,a._L)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,a._L)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),c=(0,s.Px)("verifications",{id:(0,n.fL)("id").primaryKey(),identifier:(0,n.fL)("identifier").notNull(),value:(0,n.fL)("value").notNull(),expiresAt:(0,a._L)("expires_at",{mode:"timestamp"}).notNull(),createdAt:(0,a._L)("created_at",{mode:"timestamp"}).$defaultFn(()=>new Date),updatedAt:(0,a._L)("updated_at",{mode:"timestamp"}).$defaultFn(()=>new Date)}),l=(0,s.Px)("user_servers",{id:(0,n.fL)("id").primaryKey().$defaultFn(()=>crypto.randomUUID()),userId:(0,n.fL)("user_id").notNull().references(()=>i.id,{onDelete:"cascade"}),serverId:(0,n.fL)("server_id").notNull(),permission:(0,n.fL)("permission").$type().notNull().default("view"),createdAt:(0,a._L)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,a._L)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},e=>({userServerIdx:(0,o.Kz)("user_server_idx").on(e.userId,e.serverId)}))}};var t=require("../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[9836,1489,7605,5309],()=>r(32527));module.exports=s})();
1
+ "use strict";(()=>{var e={};e.id=6541,e.ids=[6541],e.modules={85890:e=>{e.exports=require("better-sqlite3")},72934:e=>{e.exports=require("next/dist/client/components/action-async-storage.external.js")},54580:e=>{e.exports=require("next/dist/client/components/request-async-storage.external.js")},45869:e=>{e.exports=require("next/dist/client/components/static-generation-async-storage.external.js")},20399:e=>{e.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},30517:e=>{e.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},92048:e=>{e.exports=require("fs")},55315:e=>{e.exports=require("path")},32527:(e,t,r)=>{r.r(t),r.d(t,{originalPathname:()=>w,patchFetch:()=>g,requestAsyncStorage:()=>y,routeModule:()=>h,serverHooks:()=>_,staticGenerationAsyncStorage:()=>v});var s={};r.r(s),r.d(s,{GET:()=>m,POST:()=>f,dynamic:()=>l});var n=r(3025),a=r(45086),o=r(74048),i=r(24517),d=r(78649),u=r(60154),c=r(77605);let l="force-dynamic";function p(e){return{username:e.user.name||e.user.email,role:e.user.role||"user"}}async function m(){try{let e=await (0,u.mk)(await (0,c.headers)()),t=(0,d.F0)(p(e)),r=await t.getWorlds();return i.NextResponse.json(r)}catch(e){if(e instanceof u.l4)return i.NextResponse.json({error:"Unauthorized",message:e.message},{status:e.statusCode});if(e instanceof d.zB)return i.NextResponse.json({error:e.error,message:e.message},{status:e.statusCode});return console.error("Failed to fetch worlds:",e),i.NextResponse.json({error:"InternalServerError",message:"Failed to fetch worlds"},{status:500})}}async function f(e){try{let t=await (0,u.mk)(await (0,c.headers)()),r=await e.json(),s=(0,d.F0)(p(t)),n=await s.createWorld(r);return i.NextResponse.json(n,{status:201})}catch(e){if(e instanceof u.l4)return i.NextResponse.json({error:"Unauthorized",message:e.message},{status:e.statusCode});if(e instanceof d.zB)return i.NextResponse.json({error:e.error,message:e.message},{status:e.statusCode});return console.error("Failed to create world:",e),i.NextResponse.json({error:"InternalServerError",message:"Failed to create world"},{status:500})}}let h=new n.AppRouteRouteModule({definition:{kind:a.x.APP_ROUTE,page:"/api/worlds/route",pathname:"/api/worlds",filename:"route",bundlePath:"app/api/worlds/route"},resolvedPagePath:"/home/runner/work/minecraft-server-manager/minecraft-server-manager/platform/services/mcctl-console/src/app/api/worlds/route.ts",nextConfigOutput:"standalone",userland:s}),{requestAsyncStorage:y,staticGenerationAsyncStorage:v,serverHooks:_}=h,w="/api/worlds/route";function g(){return(0,o.patchFetch)({serverHooks:_,staticGenerationAsyncStorage:v})}},78649:(e,t,r)=>{r.d(t,{F0:()=>a,zB:()=>s});class s extends Error{constructor(e,t,r){super(r),this.statusCode=e,this.error=t,this.name="McctlApiError"}}class n{constructor(e){this.baseUrl=e.baseUrl.replace(/\/$/,""),this.apiKey=e.apiKey,this.userContext=e.userContext}async fetch(e,t={}){let r=`${this.baseUrl}${e}`,n={"X-API-Key":this.apiKey};t.body&&(n["Content-Type"]="application/json"),this.userContext&&(n["X-User"]=this.userContext.username,n["X-Role"]=this.userContext.role);let a=await fetch(r,{...t,headers:{...n,...t.headers}});if(!a.ok){let e=await a.json().catch(()=>({error:"UnknownError",message:a.statusText}));throw new s(a.status,e.error,e.message)}return a.json()}async getServers(){return this.fetch("/api/servers")}async getServer(e){return this.fetch(`/api/servers/${encodeURIComponent(e)}`)}async createServer(e){return this.fetch("/api/servers",{method:"POST",body:JSON.stringify(e)})}async deleteServer(e,t){return this.fetch(`/api/servers/${encodeURIComponent(e)}${t?"?force=true":""}`,{method:"DELETE"})}async startServer(e){return this.fetch(`/api/servers/${encodeURIComponent(e)}/start`,{method:"POST"})}async stopServer(e){return this.fetch(`/api/servers/${encodeURIComponent(e)}/stop`,{method:"POST"})}async restartServer(e){return this.fetch(`/api/servers/${encodeURIComponent(e)}/restart`,{method:"POST"})}async execCommand(e,t){return this.fetch(`/api/servers/${encodeURIComponent(e)}/exec`,{method:"POST",body:JSON.stringify({command:t})})}async getLogs(e,t=100){return this.fetch(`/api/servers/${encodeURIComponent(e)}/logs?lines=${t}`)}async getWorlds(){return this.fetch("/api/worlds")}async getWorld(e){return this.fetch(`/api/worlds/${encodeURIComponent(e)}`)}async createWorld(e){return this.fetch("/api/worlds",{method:"POST",body:JSON.stringify(e)})}async assignWorld(e,t){return this.fetch(`/api/worlds/${encodeURIComponent(e)}/assign`,{method:"POST",body:JSON.stringify({serverName:t})})}async releaseWorld(e,t){return this.fetch(`/api/worlds/${encodeURIComponent(e)}/release${t?"?force=true":""}`,{method:"POST"})}async deleteWorld(e,t){return this.fetch(`/api/worlds/${encodeURIComponent(e)}${t?"?force=true":""}`,{method:"DELETE"})}async getServerConfig(e){return this.fetch(`/api/servers/${encodeURIComponent(e)}/config`)}async updateServerConfig(e,t){return this.fetch(`/api/servers/${encodeURIComponent(e)}/config`,{method:"PATCH",body:JSON.stringify(t)})}async resetWorld(e){return this.fetch(`/api/servers/${encodeURIComponent(e)}/world/reset`,{method:"POST"})}async getRouterStatus(){return this.fetch("/api/router/status")}async getBackupStatus(){return this.fetch("/api/backup/status")}async pushBackup(e){let t=e?JSON.stringify({message:e}):void 0;return this.fetch("/api/backup/push",{method:"POST",body:t})}async getBackupHistory(e=20){return this.fetch(`/api/backup/history?limit=${e}`)}async restoreBackup(e){return this.fetch("/api/backup/restore",{method:"POST",body:JSON.stringify({commitHash:e})})}}function a(e){let t=process.env.MCCTL_API_URL||"http://localhost:5001",r=process.env.MCCTL_API_KEY||"";return r||console.warn("MCCTL_API_KEY is not set. API requests may fail."),new n({baseUrl:t,apiKey:r,userContext:e})}},60154:(e,t,r)=>{r.d(t,{Ke:()=>c,kF:()=>u,l4:()=>i,mk:()=>d});var s=r(31969),n=r(22587),a=r(8290),o=r(30579);class i extends Error{constructor(e,t=401){super(e),this.statusCode=t,this.name="AuthError"}}async function d(e){let t=await s.I.api.getSession({headers:e});if(!t)throw new i("Unauthorized",401);return t}async function u(e){let t=await d(e);if("admin"!==t.user.role)throw new i("Forbidden: Admin access required",403);return t}async function c(e,t,r="view"){let s=await d(e);if("admin"===s.user.role)return s;let u=await n.db.select().from(a.userServers).where((0,o.xD)((0,o.eq)(a.userServers.userId,s.user.id),(0,o.eq)(a.userServers.serverId,t))).limit(1);if(0===u.length)throw new i("Forbidden: No access to this server",403);let c=u[0].permission,l={view:1,manage:2,admin:3};if(l[c]<l[r])throw new i(`Forbidden: Requires ${r} permission`,403);return s}},31969:(e,t,r)=>{r.d(t,{I:()=>d});var s=r(33580),n=r(5944),a=r(90224),o=r(22587),i=r(8290);let d=(0,s.kj)({database:(0,n.s)(o.db,{provider:"sqlite",schema:{user:i.users,session:i.sessions,account:i.accounts,verification:i.verifications}}),emailAndPassword:{enabled:!0,requireEmailVerification:!1},session:{expiresIn:604800,updateAge:86400,cookieCache:{enabled:!0,maxAge:300}},user:{additionalFields:{role:{type:"string",required:!1,defaultValue:"user",input:!1}}},plugins:[(0,a.SA)({defaultRole:"user",adminRole:"admin"})],trustedOrigins:["http://localhost:5000","http://localhost:3000",...process.env.BETTER_AUTH_URL?[process.env.BETTER_AUTH_URL]:[],...process.env.NEXT_PUBLIC_APP_URL?[process.env.NEXT_PUBLIC_APP_URL]:[]]})},22587:(e,t,r)=>{r.d(t,{db:()=>p});var s=r(85890),n=r.n(s),a=r(31590),o=r(8290),i=r(55315),d=r.n(i),u=r(92048);let c=function(){if(process.env.DATABASE_URL)return process.env.DATABASE_URL;let e=d().join(process.cwd(),"data");return d().join(e,"mcctl.db")}();!function(e){if(":memory:"===e)return;let t=d().dirname(e);(0,u.existsSync)(t)||(0,u.mkdirSync)(t,{recursive:!0})}(c);let l=new(n())(c);l.pragma("journal_mode = WAL");let p=(0,a.t)(l,{schema:o})},8290:(e,t,r)=>{r.r(t),r.d(t,{accounts:()=>u,sessions:()=>d,userServers:()=>l,users:()=>i,verifications:()=>c});var s=r(80722),n=r(10160),a=r(30304),o=r(76303);let i=(0,s.Px)("users",{id:(0,n.fL)("id").primaryKey(),name:(0,n.fL)("name").notNull(),email:(0,n.fL)("email").notNull().unique(),emailVerified:(0,a._L)("email_verified",{mode:"boolean"}).notNull().default(!1),image:(0,n.fL)("image"),role:(0,n.fL)("role").notNull().default("user"),banned:(0,a._L)("banned",{mode:"boolean"}).default(!1),banReason:(0,n.fL)("ban_reason"),banExpires:(0,a._L)("ban_expires",{mode:"timestamp"}),createdAt:(0,a._L)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,a._L)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),d=(0,s.Px)("sessions",{id:(0,n.fL)("id").primaryKey(),expiresAt:(0,a._L)("expires_at",{mode:"timestamp"}).notNull(),token:(0,n.fL)("token").notNull().unique(),ipAddress:(0,n.fL)("ip_address"),userAgent:(0,n.fL)("user_agent"),userId:(0,n.fL)("user_id").notNull().references(()=>i.id,{onDelete:"cascade"}),createdAt:(0,a._L)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,a._L)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),u=(0,s.Px)("accounts",{id:(0,n.fL)("id").primaryKey(),accountId:(0,n.fL)("account_id").notNull(),providerId:(0,n.fL)("provider_id").notNull(),userId:(0,n.fL)("user_id").notNull().references(()=>i.id,{onDelete:"cascade"}),accessToken:(0,n.fL)("access_token"),refreshToken:(0,n.fL)("refresh_token"),idToken:(0,n.fL)("id_token"),accessTokenExpiresAt:(0,a._L)("access_token_expires_at",{mode:"timestamp"}),refreshTokenExpiresAt:(0,a._L)("refresh_token_expires_at",{mode:"timestamp"}),scope:(0,n.fL)("scope"),password:(0,n.fL)("password"),createdAt:(0,a._L)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,a._L)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)}),c=(0,s.Px)("verifications",{id:(0,n.fL)("id").primaryKey(),identifier:(0,n.fL)("identifier").notNull(),value:(0,n.fL)("value").notNull(),expiresAt:(0,a._L)("expires_at",{mode:"timestamp"}).notNull(),createdAt:(0,a._L)("created_at",{mode:"timestamp"}).$defaultFn(()=>new Date),updatedAt:(0,a._L)("updated_at",{mode:"timestamp"}).$defaultFn(()=>new Date)}),l=(0,s.Px)("user_servers",{id:(0,n.fL)("id").primaryKey().$defaultFn(()=>crypto.randomUUID()),userId:(0,n.fL)("user_id").notNull().references(()=>i.id,{onDelete:"cascade"}),serverId:(0,n.fL)("server_id").notNull(),permission:(0,n.fL)("permission").$type().notNull().default("view"),createdAt:(0,a._L)("created_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date),updatedAt:(0,a._L)("updated_at",{mode:"timestamp"}).notNull().$defaultFn(()=>new Date)},e=>({userServerIdx:(0,o.Kz)("user_server_idx").on(e.userId,e.serverId)}))}};var t=require("../../../webpack-runtime.js");t.C(e);var r=e=>t(t.s=e),s=t.X(0,[9836,1489,7605,5309],()=>r(32527));module.exports=s})();
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/33a864272e2b3e97-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/3ecd40fce058ee61-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/70d2fd2b9078a5a3-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/c99b890c5ded8d2e-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/8dfdea5f9ccf5da4.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-c5f126aae1eac753.js"/><script src="/_next/static/chunks/3b518dcd-5724e59d48f01b72.js" async=""></script><script src="/_next/static/chunks/2757-058492b5c236cb62.js" async=""></script><script src="/_next/static/chunks/main-app-666bf3e0c0f3dee2.js" async=""></script><script src="/_next/static/chunks/6812-f5924f14ef351036.js" async=""></script><script src="/_next/static/chunks/7220-4d1d72de4109ad9b.js" async=""></script><script src="/_next/static/chunks/8006-219c9bbc650b079e.js" async=""></script><script src="/_next/static/chunks/7294-ffa0013d4b0fa40a.js" async=""></script><script src="/_next/static/chunks/8696-8adf1e9b1a84f5c0.js" async=""></script><script src="/_next/static/chunks/1071-235049df1c3caba7.js" async=""></script><script src="/_next/static/chunks/540-4b925f2c57833962.js" async=""></script><script src="/_next/static/chunks/6189-d8557db379604b3e.js" async=""></script><script src="/_next/static/chunks/4840-5802e869ffd1d2a9.js" async=""></script><script src="/_next/static/chunks/5511-7a419d84918a8d64.js" async=""></script><script src="/_next/static/chunks/55-cc17f03142ace10c.js" async=""></script><script src="/_next/static/chunks/310-72d3b802b3cefa99.js" async=""></script><script src="/_next/static/chunks/8347-d55cd74fb316fad0.js" async=""></script><script src="/_next/static/chunks/4278-9a6acf769f296866.js" async=""></script><script src="/_next/static/chunks/9654-84c0d7b06321aab9.js" async=""></script><script src="/_next/static/chunks/2022-6da2f9a847a5d61c.js" async=""></script><script src="/_next/static/chunks/8918-bae025d477685e7d.js" async=""></script><script src="/_next/static/chunks/406-64ea09489141e436.js" async=""></script><script src="/_next/static/chunks/app/(main)/audit-logs/page-7a5d1441bb2811cf.js" async=""></script><script src="/_next/static/chunks/3543-1ec838cbe59f6baa.js" async=""></script><script src="/_next/static/chunks/2149-ba1bdd1d726ab70c.js" async=""></script><script src="/_next/static/chunks/2542-6ea12719b9ca1b7c.js" async=""></script><script src="/_next/static/chunks/8322-8ae826d4c9b38acc.js" async=""></script><script src="/_next/static/chunks/212-b904d9ae152f2360.js" async=""></script><script src="/_next/static/chunks/app/(main)/layout-9311354243420c0d.js" async=""></script><script src="/_next/static/chunks/5645-d306bb768b5907c8.js" async=""></script><script src="/_next/static/chunks/app/layout-e0e626ece42c56d9.js" async=""></script><title>Minecraft Server Manager</title><meta name="description" content="Web-based management console for Minecraft server infrastructure"/><link rel="icon" href="/icon.svg?0f68875a168deab8" type="image/svg+xml" sizes="any"/><meta name="next-size-adjust"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script><style data-emotion="mui-global 1kft0z8">html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box;-webkit-text-size-adjust:100%;}*,*::before,*::after{box-sizing:inherit;}strong,b{font-weight:700;}body{margin:0;color:#ffffff;font-family:"Ubuntu","Roboto","Helvetica","Arial",sans-serif;font-weight:400;font-size:1rem;line-height:1.5;background-color:#16181c;}@media print{body{background-color:#fff;}}body::backdrop{background-color:#16181c;}body{scrollbar-color:#313338 #16181c;}body::-webkit-scrollbar,body *::-webkit-scrollbar{background-color:#16181c;width:8px;}body::-webkit-scrollbar-thumb,body *::-webkit-scrollbar-thumb{border-radius:8px;background-color:#313338;min-height:24px;}body::-webkit-scrollbar-thumb:hover,body *::-webkit-scrollbar-thumb:hover{background-color:#26282e;}</style></head><body class="__className_1d908f"><div id="__next"><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--></div><script src="/_next/static/chunks/webpack-c5f126aae1eac753.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/media/33a864272e2b3e97-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n2:HL[\"/_next/static/media/3ecd40fce058ee61-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n3:HL[\"/_next/static/media/70d2fd2b9078a5a3-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n4:HL[\"/_next/static/media/c99b890c5ded8d2e-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n5:HL[\"/_next/static/css/8dfdea5f9ccf5da4.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"6:I[39943,[],\"\"]\n8:I[68067,[],\"ClientPageRoot\"]\n9:I[52791,[\"6812\",\"static/chunks/6812-f5924f14ef351036.js\",\"7220\",\"static/chunks/7220-4d1d72de4109ad9b.js\",\"8006\",\"static/chunks/8006-219c9bbc650b079e.js\",\"7294\",\"static/chunks/7294-ffa0013d4b0fa40a.js\",\"8696\",\"static/chunks/8696-8adf1e9b1a84f5c0.js\",\"1071\",\"static/chunks/1071-235049df1c3caba7.js\",\"540\",\"static/chunks/540-4b925f2c57833962.js\",\"6189\",\"static/chunks/6189-d8557db379604b3e.js\",\"4840\",\"static/chunks/4840-5802e869ffd1d2a9.js\",\"5511\",\"static/chunks/5511-7a419d84918a8d64.js\",\"55\",\"static/chunks/55-cc17f03142ace10c.js\",\"310\",\"static/chunks/310-72d3b802b3cefa99.js\",\"8347\",\"static/chunks/8347-d55cd74fb316fad0.js\",\"4278\",\"static/chunks/4278-9a6acf769f296866.js\",\"9654\",\"static/chunks/9654-84c0d7b06321aab9.js\",\"2022\",\"static/chunks/2022-6da2f9a847a5d61c.js\",\"8918\",\"static/chunks/8918-bae025d477685e7d.js\",\"406\",\"static/chunks/406-64ea09489141e436.js\",\"4743\",\"static/chunks/app/(main)/audit-logs/page-7a5d1441bb2811cf.js\"],\"default\",1]\na:I[14224,[],\"\"]\nb:I[2863,[],\"\"]\nc:I[6453,[\"6812\",\"static/chunks/6812-f5924f14ef351036.js\",\"7220\",\"static/chunks/7220-4d1d72de4109ad9b.js\",\"8006\",\"static/chunks/8006-219c9bbc650b079e.js\",\"7294\",\"static/chunks/7294-ffa0013d4b0fa40a.js\",\"8696\",\"static/chunks/8696-8adf1e9b1a84f5c0.js\",\"1071\",\"static/chunks/1071-235049df1c3caba7.js\",\"55\",\"static/chunks/55-cc17f03142ace10c.js\",\"3543\",\"static/chunks/3543-1ec838cbe59f6baa.js\",\"8347\",\"static/chunks/8347-d55cd74fb316fad0.js\",\"2149\",\"static/chunks/2149-ba1bdd1d726ab70c.js\",\"2542\",\"static/chunks/2542-6ea12719b9ca1b7c.js\",\"8322\",\"static/chunks/8322-8ae826d4c9b38acc.js\",\"8918\",\"static/chunks/8918-bae025d477685e7d.js\",\"212\",\"static/chunks/212-b904d9ae152f2360.js\",\"4095\",\"static/chunks/app/(main)/layout-9311354243420c0d.js\"],\"default\",1]\ne:I[89083,[\"6812\",\"static/chunks/6812-f5924f14ef351036.js\",\"540\",\"static/chunks/540-4b925f2c57833962.js\",\"5645\",\"static/chunks/5645-d306bb768b5907c8.js\",\"3185\",\"static/chunks/app/layout-e0e626ece42c56d9.js\"],\"default\"]\nf:I[48283,[\"6812\",\"static/chunks/6812-f5924f14ef"])</script><script>self.__next_f.push([1,"351036.js\",\"540\",\"static/chunks/540-4b925f2c57833962.js\",\"5645\",\"static/chunks/5645-d306bb768b5907c8.js\",\"3185\",\"static/chunks/app/layout-e0e626ece42c56d9.js\"],\"ThemeProvider\"]\n10:I[22237,[\"6812\",\"static/chunks/6812-f5924f14ef351036.js\",\"540\",\"static/chunks/540-4b925f2c57833962.js\",\"5645\",\"static/chunks/5645-d306bb768b5907c8.js\",\"3185\",\"static/chunks/app/layout-e0e626ece42c56d9.js\"],\"QueryProvider\"]\n11:\"$Sreact.suspense\"\n12:I[3454,[\"6812\",\"static/chunks/6812-f5924f14ef351036.js\",\"540\",\"static/chunks/540-4b925f2c57833962.js\",\"5645\",\"static/chunks/5645-d306bb768b5907c8.js\",\"3185\",\"static/chunks/app/layout-e0e626ece42c56d9.js\"],\"LoadingProvider\"]\n18:I[19253,[],\"\"]\nd:{}\n13:{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"}\n14:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\n15:{\"display\":\"inline-block\"}\n16:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\n19:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L6\",null,{\"buildId\":\"Dhuk7IX_HBmn4_EOQA5oS\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"audit-logs\"],\"initialTree\":[\"\",{\"children\":[\"(main)\",{\"children\":[\"audit-logs\",{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"(main)\",{\"children\":[\"audit-logs\",{\"children\":[\"__PAGE__\",{},[[\"$L7\",[\"$\",\"$L8\",null,{\"props\":{\"params\":{},\"searchParams\":{}},\"Component\":\"$9\"}],null],null],null]},[null,[\"$\",\"$La\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"(main)\",\"children\",\"audit-logs\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lb\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[null,[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"$La\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"(main)\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lb\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}],\"params\":\"$d\"}]],null],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/8dfdea5f9ccf5da4.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"className\":\"__className_1d908f\",\"children\":[\"$\",\"div\",null,{\"id\":\"__next\",\"children\":[\"$\",\"$Le\",null,{\"children\":[\"$\",\"$Lf\",null,{\"children\":[\"$\",\"$L10\",null,{\"children\":[\"$\",\"$11\",null,{\"fallback\":null,\"children\":[\"$\",\"$L12\",null,{\"children\":[\"$\",\"$La\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lb\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$13\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$14\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$15\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$16\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]}]}]}]}]}]}]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[null,\"$L17\"],\"globalErrorComponent\":\"$18\",\"missingSlots\":\"$W19\"}]\n"])</script><script>self.__next_f.push([1,"17:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"Minecraft Server Manager\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Web-based management console for Minecraft server infrastructure\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/icon.svg?0f68875a168deab8\",\"type\":\"image/svg+xml\",\"sizes\":\"any\"}],[\"$\",\"meta\",\"5\",{\"name\":\"next-size-adjust\"}]]\n7:null\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/33a864272e2b3e97-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/3ecd40fce058ee61-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/70d2fd2b9078a5a3-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/c99b890c5ded8d2e-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/8dfdea5f9ccf5da4.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-c5f126aae1eac753.js"/><script src="/_next/static/chunks/3b518dcd-5724e59d48f01b72.js" async=""></script><script src="/_next/static/chunks/2757-058492b5c236cb62.js" async=""></script><script src="/_next/static/chunks/main-app-666bf3e0c0f3dee2.js" async=""></script><script src="/_next/static/chunks/6812-f5924f14ef351036.js" async=""></script><script src="/_next/static/chunks/7220-4d1d72de4109ad9b.js" async=""></script><script src="/_next/static/chunks/8006-219c9bbc650b079e.js" async=""></script><script src="/_next/static/chunks/7294-ffa0013d4b0fa40a.js" async=""></script><script src="/_next/static/chunks/8696-8adf1e9b1a84f5c0.js" async=""></script><script src="/_next/static/chunks/1071-235049df1c3caba7.js" async=""></script><script src="/_next/static/chunks/540-4b925f2c57833962.js" async=""></script><script src="/_next/static/chunks/6189-d8557db379604b3e.js" async=""></script><script src="/_next/static/chunks/4840-5802e869ffd1d2a9.js" async=""></script><script src="/_next/static/chunks/5511-7a419d84918a8d64.js" async=""></script><script src="/_next/static/chunks/55-cc17f03142ace10c.js" async=""></script><script src="/_next/static/chunks/310-72d3b802b3cefa99.js" async=""></script><script src="/_next/static/chunks/8347-d55cd74fb316fad0.js" async=""></script><script src="/_next/static/chunks/4278-9a6acf769f296866.js" async=""></script><script src="/_next/static/chunks/9654-84c0d7b06321aab9.js" async=""></script><script src="/_next/static/chunks/2022-6da2f9a847a5d61c.js" async=""></script><script src="/_next/static/chunks/8918-bae025d477685e7d.js" async=""></script><script src="/_next/static/chunks/406-64ea09489141e436.js" async=""></script><script src="/_next/static/chunks/app/(main)/audit-logs/page-7a5d1441bb2811cf.js" async=""></script><script src="/_next/static/chunks/3543-1ec838cbe59f6baa.js" async=""></script><script src="/_next/static/chunks/2149-ba1bdd1d726ab70c.js" async=""></script><script src="/_next/static/chunks/2542-6ea12719b9ca1b7c.js" async=""></script><script src="/_next/static/chunks/8322-8ae826d4c9b38acc.js" async=""></script><script src="/_next/static/chunks/212-b904d9ae152f2360.js" async=""></script><script src="/_next/static/chunks/app/(main)/layout-692cb1da92b73287.js" async=""></script><script src="/_next/static/chunks/5645-d306bb768b5907c8.js" async=""></script><script src="/_next/static/chunks/app/layout-e0e626ece42c56d9.js" async=""></script><title>Minecraft Server Manager</title><meta name="description" content="Web-based management console for Minecraft server infrastructure"/><link rel="icon" href="/icon.svg?0f68875a168deab8" type="image/svg+xml" sizes="any"/><meta name="next-size-adjust"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script><style data-emotion="mui-global 1kft0z8">html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box;-webkit-text-size-adjust:100%;}*,*::before,*::after{box-sizing:inherit;}strong,b{font-weight:700;}body{margin:0;color:#ffffff;font-family:"Ubuntu","Roboto","Helvetica","Arial",sans-serif;font-weight:400;font-size:1rem;line-height:1.5;background-color:#16181c;}@media print{body{background-color:#fff;}}body::backdrop{background-color:#16181c;}body{scrollbar-color:#313338 #16181c;}body::-webkit-scrollbar,body *::-webkit-scrollbar{background-color:#16181c;width:8px;}body::-webkit-scrollbar-thumb,body *::-webkit-scrollbar-thumb{border-radius:8px;background-color:#313338;min-height:24px;}body::-webkit-scrollbar-thumb:hover,body *::-webkit-scrollbar-thumb:hover{background-color:#26282e;}</style></head><body class="__className_1d908f"><div id="__next"><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--></div><script src="/_next/static/chunks/webpack-c5f126aae1eac753.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/media/33a864272e2b3e97-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n2:HL[\"/_next/static/media/3ecd40fce058ee61-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n3:HL[\"/_next/static/media/70d2fd2b9078a5a3-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n4:HL[\"/_next/static/media/c99b890c5ded8d2e-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n5:HL[\"/_next/static/css/8dfdea5f9ccf5da4.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"6:I[39943,[],\"\"]\n8:I[68067,[],\"ClientPageRoot\"]\n9:I[52791,[\"6812\",\"static/chunks/6812-f5924f14ef351036.js\",\"7220\",\"static/chunks/7220-4d1d72de4109ad9b.js\",\"8006\",\"static/chunks/8006-219c9bbc650b079e.js\",\"7294\",\"static/chunks/7294-ffa0013d4b0fa40a.js\",\"8696\",\"static/chunks/8696-8adf1e9b1a84f5c0.js\",\"1071\",\"static/chunks/1071-235049df1c3caba7.js\",\"540\",\"static/chunks/540-4b925f2c57833962.js\",\"6189\",\"static/chunks/6189-d8557db379604b3e.js\",\"4840\",\"static/chunks/4840-5802e869ffd1d2a9.js\",\"5511\",\"static/chunks/5511-7a419d84918a8d64.js\",\"55\",\"static/chunks/55-cc17f03142ace10c.js\",\"310\",\"static/chunks/310-72d3b802b3cefa99.js\",\"8347\",\"static/chunks/8347-d55cd74fb316fad0.js\",\"4278\",\"static/chunks/4278-9a6acf769f296866.js\",\"9654\",\"static/chunks/9654-84c0d7b06321aab9.js\",\"2022\",\"static/chunks/2022-6da2f9a847a5d61c.js\",\"8918\",\"static/chunks/8918-bae025d477685e7d.js\",\"406\",\"static/chunks/406-64ea09489141e436.js\",\"4743\",\"static/chunks/app/(main)/audit-logs/page-7a5d1441bb2811cf.js\"],\"default\",1]\na:I[14224,[],\"\"]\nb:I[2863,[],\"\"]\nc:I[6453,[\"6812\",\"static/chunks/6812-f5924f14ef351036.js\",\"7220\",\"static/chunks/7220-4d1d72de4109ad9b.js\",\"8006\",\"static/chunks/8006-219c9bbc650b079e.js\",\"7294\",\"static/chunks/7294-ffa0013d4b0fa40a.js\",\"8696\",\"static/chunks/8696-8adf1e9b1a84f5c0.js\",\"1071\",\"static/chunks/1071-235049df1c3caba7.js\",\"55\",\"static/chunks/55-cc17f03142ace10c.js\",\"3543\",\"static/chunks/3543-1ec838cbe59f6baa.js\",\"8347\",\"static/chunks/8347-d55cd74fb316fad0.js\",\"2149\",\"static/chunks/2149-ba1bdd1d726ab70c.js\",\"2542\",\"static/chunks/2542-6ea12719b9ca1b7c.js\",\"8322\",\"static/chunks/8322-8ae826d4c9b38acc.js\",\"8918\",\"static/chunks/8918-bae025d477685e7d.js\",\"212\",\"static/chunks/212-b904d9ae152f2360.js\",\"4095\",\"static/chunks/app/(main)/layout-692cb1da92b73287.js\"],\"default\",1]\ne:I[89083,[\"6812\",\"static/chunks/6812-f5924f14ef351036.js\",\"540\",\"static/chunks/540-4b925f2c57833962.js\",\"5645\",\"static/chunks/5645-d306bb768b5907c8.js\",\"3185\",\"static/chunks/app/layout-e0e626ece42c56d9.js\"],\"default\"]\nf:I[48283,[\"6812\",\"static/chunks/6812-f5924f14ef"])</script><script>self.__next_f.push([1,"351036.js\",\"540\",\"static/chunks/540-4b925f2c57833962.js\",\"5645\",\"static/chunks/5645-d306bb768b5907c8.js\",\"3185\",\"static/chunks/app/layout-e0e626ece42c56d9.js\"],\"ThemeProvider\"]\n10:I[22237,[\"6812\",\"static/chunks/6812-f5924f14ef351036.js\",\"540\",\"static/chunks/540-4b925f2c57833962.js\",\"5645\",\"static/chunks/5645-d306bb768b5907c8.js\",\"3185\",\"static/chunks/app/layout-e0e626ece42c56d9.js\"],\"QueryProvider\"]\n11:\"$Sreact.suspense\"\n12:I[3454,[\"6812\",\"static/chunks/6812-f5924f14ef351036.js\",\"540\",\"static/chunks/540-4b925f2c57833962.js\",\"5645\",\"static/chunks/5645-d306bb768b5907c8.js\",\"3185\",\"static/chunks/app/layout-e0e626ece42c56d9.js\"],\"LoadingProvider\"]\n18:I[19253,[],\"\"]\nd:{}\n13:{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"}\n14:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\n15:{\"display\":\"inline-block\"}\n16:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\n19:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L6\",null,{\"buildId\":\"54l5y_cPPm2v7sbdcoQao\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"audit-logs\"],\"initialTree\":[\"\",{\"children\":[\"(main)\",{\"children\":[\"audit-logs\",{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"(main)\",{\"children\":[\"audit-logs\",{\"children\":[\"__PAGE__\",{},[[\"$L7\",[\"$\",\"$L8\",null,{\"props\":{\"params\":{},\"searchParams\":{}},\"Component\":\"$9\"}],null],null],null]},[null,[\"$\",\"$La\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"(main)\",\"children\",\"audit-logs\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lb\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[null,[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"$La\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"(main)\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lb\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}],\"params\":\"$d\"}]],null],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/8dfdea5f9ccf5da4.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"className\":\"__className_1d908f\",\"children\":[\"$\",\"div\",null,{\"id\":\"__next\",\"children\":[\"$\",\"$Le\",null,{\"children\":[\"$\",\"$Lf\",null,{\"children\":[\"$\",\"$L10\",null,{\"children\":[\"$\",\"$11\",null,{\"fallback\":null,\"children\":[\"$\",\"$L12\",null,{\"children\":[\"$\",\"$La\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lb\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$13\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$14\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$15\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$16\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]}]}]}]}]}]}]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[null,\"$L17\"],\"globalErrorComponent\":\"$18\",\"missingSlots\":\"$W19\"}]\n"])</script><script>self.__next_f.push([1,"17:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"Minecraft Server Manager\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Web-based management console for Minecraft server infrastructure\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/icon.svg?0f68875a168deab8\",\"type\":\"image/svg+xml\",\"sizes\":\"any\"}],[\"$\",\"meta\",\"5\",{\"name\":\"next-size-adjust\"}]]\n7:null\n"])</script></body></html>
@@ -2,7 +2,7 @@
2
2
  3:I[52791,["6812","static/chunks/6812-f5924f14ef351036.js","7220","static/chunks/7220-4d1d72de4109ad9b.js","8006","static/chunks/8006-219c9bbc650b079e.js","7294","static/chunks/7294-ffa0013d4b0fa40a.js","8696","static/chunks/8696-8adf1e9b1a84f5c0.js","1071","static/chunks/1071-235049df1c3caba7.js","540","static/chunks/540-4b925f2c57833962.js","6189","static/chunks/6189-d8557db379604b3e.js","4840","static/chunks/4840-5802e869ffd1d2a9.js","5511","static/chunks/5511-7a419d84918a8d64.js","55","static/chunks/55-cc17f03142ace10c.js","310","static/chunks/310-72d3b802b3cefa99.js","8347","static/chunks/8347-d55cd74fb316fad0.js","4278","static/chunks/4278-9a6acf769f296866.js","9654","static/chunks/9654-84c0d7b06321aab9.js","2022","static/chunks/2022-6da2f9a847a5d61c.js","8918","static/chunks/8918-bae025d477685e7d.js","406","static/chunks/406-64ea09489141e436.js","4743","static/chunks/app/(main)/audit-logs/page-7a5d1441bb2811cf.js"],"default",1]
3
3
  4:I[14224,[],""]
4
4
  5:I[2863,[],""]
5
- 6:I[6453,["6812","static/chunks/6812-f5924f14ef351036.js","7220","static/chunks/7220-4d1d72de4109ad9b.js","8006","static/chunks/8006-219c9bbc650b079e.js","7294","static/chunks/7294-ffa0013d4b0fa40a.js","8696","static/chunks/8696-8adf1e9b1a84f5c0.js","1071","static/chunks/1071-235049df1c3caba7.js","55","static/chunks/55-cc17f03142ace10c.js","3543","static/chunks/3543-1ec838cbe59f6baa.js","8347","static/chunks/8347-d55cd74fb316fad0.js","2149","static/chunks/2149-ba1bdd1d726ab70c.js","2542","static/chunks/2542-6ea12719b9ca1b7c.js","8322","static/chunks/8322-8ae826d4c9b38acc.js","8918","static/chunks/8918-bae025d477685e7d.js","212","static/chunks/212-b904d9ae152f2360.js","4095","static/chunks/app/(main)/layout-9311354243420c0d.js"],"default",1]
5
+ 6:I[6453,["6812","static/chunks/6812-f5924f14ef351036.js","7220","static/chunks/7220-4d1d72de4109ad9b.js","8006","static/chunks/8006-219c9bbc650b079e.js","7294","static/chunks/7294-ffa0013d4b0fa40a.js","8696","static/chunks/8696-8adf1e9b1a84f5c0.js","1071","static/chunks/1071-235049df1c3caba7.js","55","static/chunks/55-cc17f03142ace10c.js","3543","static/chunks/3543-1ec838cbe59f6baa.js","8347","static/chunks/8347-d55cd74fb316fad0.js","2149","static/chunks/2149-ba1bdd1d726ab70c.js","2542","static/chunks/2542-6ea12719b9ca1b7c.js","8322","static/chunks/8322-8ae826d4c9b38acc.js","8918","static/chunks/8918-bae025d477685e7d.js","212","static/chunks/212-b904d9ae152f2360.js","4095","static/chunks/app/(main)/layout-692cb1da92b73287.js"],"default",1]
6
6
  8:I[89083,["6812","static/chunks/6812-f5924f14ef351036.js","540","static/chunks/540-4b925f2c57833962.js","5645","static/chunks/5645-d306bb768b5907c8.js","3185","static/chunks/app/layout-e0e626ece42c56d9.js"],"default"]
7
7
  9:I[48283,["6812","static/chunks/6812-f5924f14ef351036.js","540","static/chunks/540-4b925f2c57833962.js","5645","static/chunks/5645-d306bb768b5907c8.js","3185","static/chunks/app/layout-e0e626ece42c56d9.js"],"ThemeProvider"]
8
8
  a:I[22237,["6812","static/chunks/6812-f5924f14ef351036.js","540","static/chunks/540-4b925f2c57833962.js","5645","static/chunks/5645-d306bb768b5907c8.js","3185","static/chunks/app/layout-e0e626ece42c56d9.js"],"QueryProvider"]
@@ -13,6 +13,6 @@ d:{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Appl
13
13
  e:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"}
14
14
  f:{"display":"inline-block"}
15
15
  10:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0}
16
- 0:["Dhuk7IX_HBmn4_EOQA5oS",[[["",{"children":["(main)",{"children":["audit-logs",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["(main)",{"children":["audit-logs",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(main)","children","audit-logs","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(main)","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/8dfdea5f9ccf5da4.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1d908f","children":["$","div",null,{"id":"__next","children":["$","$L8",null,{"children":["$","$L9",null,{"children":["$","$La",null,{"children":["$","$b",null,{"fallback":null,"children":["$","$Lc",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$d","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$e","children":"404"}],["$","div",null,{"style":"$f","children":["$","h2",null,{"style":"$10","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]}]}]}]}]}]],null],null],["$L11",null]]]]
16
+ 0:["54l5y_cPPm2v7sbdcoQao",[[["",{"children":["(main)",{"children":["audit-logs",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["(main)",{"children":["audit-logs",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(main)","children","audit-logs","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(main)","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/8dfdea5f9ccf5da4.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1d908f","children":["$","div",null,{"id":"__next","children":["$","$L8",null,{"children":["$","$L9",null,{"children":["$","$La",null,{"children":["$","$b",null,{"fallback":null,"children":["$","$Lc",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$d","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$e","children":"404"}],["$","div",null,{"style":"$f","children":["$","h2",null,{"style":"$10","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]}]}]}]}]}]],null],null],["$L11",null]]]]
17
17
  11:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Minecraft Server Manager"}],["$","meta","3",{"name":"description","content":"Web-based management console for Minecraft server infrastructure"}],["$","link","4",{"rel":"icon","href":"/icon.svg?0f68875a168deab8","type":"image/svg+xml","sizes":"any"}],["$","meta","5",{"name":"next-size-adjust"}]]
18
18
  1:null
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/33a864272e2b3e97-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/3ecd40fce058ee61-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/70d2fd2b9078a5a3-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/c99b890c5ded8d2e-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/8dfdea5f9ccf5da4.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-c5f126aae1eac753.js"/><script src="/_next/static/chunks/3b518dcd-5724e59d48f01b72.js" async=""></script><script src="/_next/static/chunks/2757-058492b5c236cb62.js" async=""></script><script src="/_next/static/chunks/main-app-666bf3e0c0f3dee2.js" async=""></script><script src="/_next/static/chunks/6812-f5924f14ef351036.js" async=""></script><script src="/_next/static/chunks/7220-4d1d72de4109ad9b.js" async=""></script><script src="/_next/static/chunks/8006-219c9bbc650b079e.js" async=""></script><script src="/_next/static/chunks/7294-ffa0013d4b0fa40a.js" async=""></script><script src="/_next/static/chunks/8696-8adf1e9b1a84f5c0.js" async=""></script><script src="/_next/static/chunks/1071-235049df1c3caba7.js" async=""></script><script src="/_next/static/chunks/540-4b925f2c57833962.js" async=""></script><script src="/_next/static/chunks/6189-d8557db379604b3e.js" async=""></script><script src="/_next/static/chunks/310-72d3b802b3cefa99.js" async=""></script><script src="/_next/static/chunks/9654-84c0d7b06321aab9.js" async=""></script><script src="/_next/static/chunks/6655-81288236c1babc44.js" async=""></script><script src="/_next/static/chunks/app/(main)/backups/page-cc46681d519753dd.js" async=""></script><script src="/_next/static/chunks/55-cc17f03142ace10c.js" async=""></script><script src="/_next/static/chunks/3543-1ec838cbe59f6baa.js" async=""></script><script src="/_next/static/chunks/8347-d55cd74fb316fad0.js" async=""></script><script src="/_next/static/chunks/2149-ba1bdd1d726ab70c.js" async=""></script><script src="/_next/static/chunks/2542-6ea12719b9ca1b7c.js" async=""></script><script src="/_next/static/chunks/8322-8ae826d4c9b38acc.js" async=""></script><script src="/_next/static/chunks/8918-bae025d477685e7d.js" async=""></script><script src="/_next/static/chunks/212-b904d9ae152f2360.js" async=""></script><script src="/_next/static/chunks/app/(main)/layout-9311354243420c0d.js" async=""></script><script src="/_next/static/chunks/5645-d306bb768b5907c8.js" async=""></script><script src="/_next/static/chunks/app/layout-e0e626ece42c56d9.js" async=""></script><title>Minecraft Server Manager</title><meta name="description" content="Web-based management console for Minecraft server infrastructure"/><link rel="icon" href="/icon.svg?0f68875a168deab8" type="image/svg+xml" sizes="any"/><meta name="next-size-adjust"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script><style data-emotion="mui-global 1kft0z8">html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box;-webkit-text-size-adjust:100%;}*,*::before,*::after{box-sizing:inherit;}strong,b{font-weight:700;}body{margin:0;color:#ffffff;font-family:"Ubuntu","Roboto","Helvetica","Arial",sans-serif;font-weight:400;font-size:1rem;line-height:1.5;background-color:#16181c;}@media print{body{background-color:#fff;}}body::backdrop{background-color:#16181c;}body{scrollbar-color:#313338 #16181c;}body::-webkit-scrollbar,body *::-webkit-scrollbar{background-color:#16181c;width:8px;}body::-webkit-scrollbar-thumb,body *::-webkit-scrollbar-thumb{border-radius:8px;background-color:#313338;min-height:24px;}body::-webkit-scrollbar-thumb:hover,body *::-webkit-scrollbar-thumb:hover{background-color:#26282e;}</style></head><body class="__className_1d908f"><div id="__next"><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--></div><script src="/_next/static/chunks/webpack-c5f126aae1eac753.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/media/33a864272e2b3e97-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n2:HL[\"/_next/static/media/3ecd40fce058ee61-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n3:HL[\"/_next/static/media/70d2fd2b9078a5a3-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n4:HL[\"/_next/static/media/c99b890c5ded8d2e-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n5:HL[\"/_next/static/css/8dfdea5f9ccf5da4.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"6:I[39943,[],\"\"]\n8:I[68067,[],\"ClientPageRoot\"]\n9:I[6643,[\"6812\",\"static/chunks/6812-f5924f14ef351036.js\",\"7220\",\"static/chunks/7220-4d1d72de4109ad9b.js\",\"8006\",\"static/chunks/8006-219c9bbc650b079e.js\",\"7294\",\"static/chunks/7294-ffa0013d4b0fa40a.js\",\"8696\",\"static/chunks/8696-8adf1e9b1a84f5c0.js\",\"1071\",\"static/chunks/1071-235049df1c3caba7.js\",\"540\",\"static/chunks/540-4b925f2c57833962.js\",\"6189\",\"static/chunks/6189-d8557db379604b3e.js\",\"310\",\"static/chunks/310-72d3b802b3cefa99.js\",\"9654\",\"static/chunks/9654-84c0d7b06321aab9.js\",\"6655\",\"static/chunks/6655-81288236c1babc44.js\",\"6302\",\"static/chunks/app/(main)/backups/page-cc46681d519753dd.js\"],\"default\",1]\na:I[14224,[],\"\"]\nb:I[2863,[],\"\"]\nc:I[6453,[\"6812\",\"static/chunks/6812-f5924f14ef351036.js\",\"7220\",\"static/chunks/7220-4d1d72de4109ad9b.js\",\"8006\",\"static/chunks/8006-219c9bbc650b079e.js\",\"7294\",\"static/chunks/7294-ffa0013d4b0fa40a.js\",\"8696\",\"static/chunks/8696-8adf1e9b1a84f5c0.js\",\"1071\",\"static/chunks/1071-235049df1c3caba7.js\",\"55\",\"static/chunks/55-cc17f03142ace10c.js\",\"3543\",\"static/chunks/3543-1ec838cbe59f6baa.js\",\"8347\",\"static/chunks/8347-d55cd74fb316fad0.js\",\"2149\",\"static/chunks/2149-ba1bdd1d726ab70c.js\",\"2542\",\"static/chunks/2542-6ea12719b9ca1b7c.js\",\"8322\",\"static/chunks/8322-8ae826d4c9b38acc.js\",\"8918\",\"static/chunks/8918-bae025d477685e7d.js\",\"212\",\"static/chunks/212-b904d9ae152f2360.js\",\"4095\",\"static/chunks/app/(main)/layout-9311354243420c0d.js\"],\"default\",1]\ne:I[89083,[\"6812\",\"static/chunks/6812-f5924f14ef351036.js\",\"540\",\"static/chunks/540-4b925f2c57833962.js\",\"5645\",\"static/chunks/5645-d306bb768b5907c8.js\",\"3185\",\"static/chunks/app/layout-e0e626ece42c56d9.js\"],\"default\"]\nf:I[48283,[\"6812\",\"static/chunks/6812-f5924f14ef351036.js\",\"540\",\"static/chunks/540-4b925f2c57833962.js\",\"5645\",\"static/chunks/5645-d306bb768b5907c8.js\",\"3185\",\"static/chunks/app/layout-e0e626ece42c56d9.js\"],\"ThemeProvider\"]\n10:I[22237,[\"6812\",\"static/chunks/6812-f5924f14ef351036.js\",\"540\",\"static/chunks/540-4b925f2c57833962.js\",\"5645\",\"static/chunks/5645-d306bb768b5907c8.js\",\"31"])</script><script>self.__next_f.push([1,"85\",\"static/chunks/app/layout-e0e626ece42c56d9.js\"],\"QueryProvider\"]\n11:\"$Sreact.suspense\"\n12:I[3454,[\"6812\",\"static/chunks/6812-f5924f14ef351036.js\",\"540\",\"static/chunks/540-4b925f2c57833962.js\",\"5645\",\"static/chunks/5645-d306bb768b5907c8.js\",\"3185\",\"static/chunks/app/layout-e0e626ece42c56d9.js\"],\"LoadingProvider\"]\n18:I[19253,[],\"\"]\nd:{}\n13:{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"}\n14:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\n15:{\"display\":\"inline-block\"}\n16:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\n19:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L6\",null,{\"buildId\":\"Dhuk7IX_HBmn4_EOQA5oS\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"backups\"],\"initialTree\":[\"\",{\"children\":[\"(main)\",{\"children\":[\"backups\",{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"(main)\",{\"children\":[\"backups\",{\"children\":[\"__PAGE__\",{},[[\"$L7\",[\"$\",\"$L8\",null,{\"props\":{\"params\":{},\"searchParams\":{}},\"Component\":\"$9\"}],null],null],null]},[null,[\"$\",\"$La\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"(main)\",\"children\",\"backups\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lb\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[null,[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"$La\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"(main)\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lb\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}],\"params\":\"$d\"}]],null],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/8dfdea5f9ccf5da4.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"className\":\"__className_1d908f\",\"children\":[\"$\",\"div\",null,{\"id\":\"__next\",\"children\":[\"$\",\"$Le\",null,{\"children\":[\"$\",\"$Lf\",null,{\"children\":[\"$\",\"$L10\",null,{\"children\":[\"$\",\"$11\",null,{\"fallback\":null,\"children\":[\"$\",\"$L12\",null,{\"children\":[\"$\",\"$La\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lb\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$13\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$14\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$15\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$16\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]}]}]}]}]}]}]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[null,\"$L17\"],\"globalErrorComponent\":\"$18\",\"missingSlots\":\"$W19\"}]\n"])</script><script>self.__next_f.push([1,"17:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"Minecraft Server Manager\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Web-based management console for Minecraft server infrastructure\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/icon.svg?0f68875a168deab8\",\"type\":\"image/svg+xml\",\"sizes\":\"any\"}],[\"$\",\"meta\",\"5\",{\"name\":\"next-size-adjust\"}]]\n7:null\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/33a864272e2b3e97-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/3ecd40fce058ee61-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/70d2fd2b9078a5a3-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/c99b890c5ded8d2e-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/8dfdea5f9ccf5da4.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-c5f126aae1eac753.js"/><script src="/_next/static/chunks/3b518dcd-5724e59d48f01b72.js" async=""></script><script src="/_next/static/chunks/2757-058492b5c236cb62.js" async=""></script><script src="/_next/static/chunks/main-app-666bf3e0c0f3dee2.js" async=""></script><script src="/_next/static/chunks/6812-f5924f14ef351036.js" async=""></script><script src="/_next/static/chunks/7220-4d1d72de4109ad9b.js" async=""></script><script src="/_next/static/chunks/8006-219c9bbc650b079e.js" async=""></script><script src="/_next/static/chunks/7294-ffa0013d4b0fa40a.js" async=""></script><script src="/_next/static/chunks/8696-8adf1e9b1a84f5c0.js" async=""></script><script src="/_next/static/chunks/1071-235049df1c3caba7.js" async=""></script><script src="/_next/static/chunks/540-4b925f2c57833962.js" async=""></script><script src="/_next/static/chunks/6189-d8557db379604b3e.js" async=""></script><script src="/_next/static/chunks/310-72d3b802b3cefa99.js" async=""></script><script src="/_next/static/chunks/9654-84c0d7b06321aab9.js" async=""></script><script src="/_next/static/chunks/6655-81288236c1babc44.js" async=""></script><script src="/_next/static/chunks/app/(main)/backups/page-cc46681d519753dd.js" async=""></script><script src="/_next/static/chunks/55-cc17f03142ace10c.js" async=""></script><script src="/_next/static/chunks/3543-1ec838cbe59f6baa.js" async=""></script><script src="/_next/static/chunks/8347-d55cd74fb316fad0.js" async=""></script><script src="/_next/static/chunks/2149-ba1bdd1d726ab70c.js" async=""></script><script src="/_next/static/chunks/2542-6ea12719b9ca1b7c.js" async=""></script><script src="/_next/static/chunks/8322-8ae826d4c9b38acc.js" async=""></script><script src="/_next/static/chunks/8918-bae025d477685e7d.js" async=""></script><script src="/_next/static/chunks/212-b904d9ae152f2360.js" async=""></script><script src="/_next/static/chunks/app/(main)/layout-692cb1da92b73287.js" async=""></script><script src="/_next/static/chunks/5645-d306bb768b5907c8.js" async=""></script><script src="/_next/static/chunks/app/layout-e0e626ece42c56d9.js" async=""></script><title>Minecraft Server Manager</title><meta name="description" content="Web-based management console for Minecraft server infrastructure"/><link rel="icon" href="/icon.svg?0f68875a168deab8" type="image/svg+xml" sizes="any"/><meta name="next-size-adjust"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script><style data-emotion="mui-global 1kft0z8">html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box;-webkit-text-size-adjust:100%;}*,*::before,*::after{box-sizing:inherit;}strong,b{font-weight:700;}body{margin:0;color:#ffffff;font-family:"Ubuntu","Roboto","Helvetica","Arial",sans-serif;font-weight:400;font-size:1rem;line-height:1.5;background-color:#16181c;}@media print{body{background-color:#fff;}}body::backdrop{background-color:#16181c;}body{scrollbar-color:#313338 #16181c;}body::-webkit-scrollbar,body *::-webkit-scrollbar{background-color:#16181c;width:8px;}body::-webkit-scrollbar-thumb,body *::-webkit-scrollbar-thumb{border-radius:8px;background-color:#313338;min-height:24px;}body::-webkit-scrollbar-thumb:hover,body *::-webkit-scrollbar-thumb:hover{background-color:#26282e;}</style></head><body class="__className_1d908f"><div id="__next"><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--></div><script src="/_next/static/chunks/webpack-c5f126aae1eac753.js" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null])</script><script>self.__next_f.push([1,"1:HL[\"/_next/static/media/33a864272e2b3e97-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n2:HL[\"/_next/static/media/3ecd40fce058ee61-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n3:HL[\"/_next/static/media/70d2fd2b9078a5a3-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n4:HL[\"/_next/static/media/c99b890c5ded8d2e-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n5:HL[\"/_next/static/css/8dfdea5f9ccf5da4.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"6:I[39943,[],\"\"]\n8:I[68067,[],\"ClientPageRoot\"]\n9:I[6643,[\"6812\",\"static/chunks/6812-f5924f14ef351036.js\",\"7220\",\"static/chunks/7220-4d1d72de4109ad9b.js\",\"8006\",\"static/chunks/8006-219c9bbc650b079e.js\",\"7294\",\"static/chunks/7294-ffa0013d4b0fa40a.js\",\"8696\",\"static/chunks/8696-8adf1e9b1a84f5c0.js\",\"1071\",\"static/chunks/1071-235049df1c3caba7.js\",\"540\",\"static/chunks/540-4b925f2c57833962.js\",\"6189\",\"static/chunks/6189-d8557db379604b3e.js\",\"310\",\"static/chunks/310-72d3b802b3cefa99.js\",\"9654\",\"static/chunks/9654-84c0d7b06321aab9.js\",\"6655\",\"static/chunks/6655-81288236c1babc44.js\",\"6302\",\"static/chunks/app/(main)/backups/page-cc46681d519753dd.js\"],\"default\",1]\na:I[14224,[],\"\"]\nb:I[2863,[],\"\"]\nc:I[6453,[\"6812\",\"static/chunks/6812-f5924f14ef351036.js\",\"7220\",\"static/chunks/7220-4d1d72de4109ad9b.js\",\"8006\",\"static/chunks/8006-219c9bbc650b079e.js\",\"7294\",\"static/chunks/7294-ffa0013d4b0fa40a.js\",\"8696\",\"static/chunks/8696-8adf1e9b1a84f5c0.js\",\"1071\",\"static/chunks/1071-235049df1c3caba7.js\",\"55\",\"static/chunks/55-cc17f03142ace10c.js\",\"3543\",\"static/chunks/3543-1ec838cbe59f6baa.js\",\"8347\",\"static/chunks/8347-d55cd74fb316fad0.js\",\"2149\",\"static/chunks/2149-ba1bdd1d726ab70c.js\",\"2542\",\"static/chunks/2542-6ea12719b9ca1b7c.js\",\"8322\",\"static/chunks/8322-8ae826d4c9b38acc.js\",\"8918\",\"static/chunks/8918-bae025d477685e7d.js\",\"212\",\"static/chunks/212-b904d9ae152f2360.js\",\"4095\",\"static/chunks/app/(main)/layout-692cb1da92b73287.js\"],\"default\",1]\ne:I[89083,[\"6812\",\"static/chunks/6812-f5924f14ef351036.js\",\"540\",\"static/chunks/540-4b925f2c57833962.js\",\"5645\",\"static/chunks/5645-d306bb768b5907c8.js\",\"3185\",\"static/chunks/app/layout-e0e626ece42c56d9.js\"],\"default\"]\nf:I[48283,[\"6812\",\"static/chunks/6812-f5924f14ef351036.js\",\"540\",\"static/chunks/540-4b925f2c57833962.js\",\"5645\",\"static/chunks/5645-d306bb768b5907c8.js\",\"3185\",\"static/chunks/app/layout-e0e626ece42c56d9.js\"],\"ThemeProvider\"]\n10:I[22237,[\"6812\",\"static/chunks/6812-f5924f14ef351036.js\",\"540\",\"static/chunks/540-4b925f2c57833962.js\",\"5645\",\"static/chunks/5645-d306bb768b5907c8.js\",\"31"])</script><script>self.__next_f.push([1,"85\",\"static/chunks/app/layout-e0e626ece42c56d9.js\"],\"QueryProvider\"]\n11:\"$Sreact.suspense\"\n12:I[3454,[\"6812\",\"static/chunks/6812-f5924f14ef351036.js\",\"540\",\"static/chunks/540-4b925f2c57833962.js\",\"5645\",\"static/chunks/5645-d306bb768b5907c8.js\",\"3185\",\"static/chunks/app/layout-e0e626ece42c56d9.js\"],\"LoadingProvider\"]\n18:I[19253,[],\"\"]\nd:{}\n13:{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"}\n14:{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"}\n15:{\"display\":\"inline-block\"}\n16:{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0}\n19:[]\n"])</script><script>self.__next_f.push([1,"0:[\"$\",\"$L6\",null,{\"buildId\":\"54l5y_cPPm2v7sbdcoQao\",\"assetPrefix\":\"\",\"urlParts\":[\"\",\"backups\"],\"initialTree\":[\"\",{\"children\":[\"(main)\",{\"children\":[\"backups\",{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",true],\"initialSeedData\":[\"\",{\"children\":[\"(main)\",{\"children\":[\"backups\",{\"children\":[\"__PAGE__\",{},[[\"$L7\",[\"$\",\"$L8\",null,{\"props\":{\"params\":{},\"searchParams\":{}},\"Component\":\"$9\"}],null],null],null]},[null,[\"$\",\"$La\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"(main)\",\"children\",\"backups\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lb\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"notFoundStyles\":\"$undefined\"}]],null]},[[null,[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"$La\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\",\"(main)\",\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lb\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}],\"params\":\"$d\"}]],null],null]},[[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/8dfdea5f9ccf5da4.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"children\":[\"$\",\"body\",null,{\"className\":\"__className_1d908f\",\"children\":[\"$\",\"div\",null,{\"id\":\"__next\",\"children\":[\"$\",\"$Le\",null,{\"children\":[\"$\",\"$Lf\",null,{\"children\":[\"$\",\"$L10\",null,{\"children\":[\"$\",\"$11\",null,{\"fallback\":null,\"children\":[\"$\",\"$L12\",null,{\"children\":[\"$\",\"$La\",null,{\"parallelRouterKey\":\"children\",\"segmentPath\":[\"children\"],\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Lb\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$13\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$14\",\"children\":\"404\"}],[\"$\",\"div\",null,{\"style\":\"$15\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$16\",\"children\":\"This page could not be found.\"}]}]]}]}]],\"notFoundStyles\":[]}]}]}]}]}]}]}]}]}]],null],null],\"couldBeIntercepted\":false,\"initialHead\":[null,\"$L17\"],\"globalErrorComponent\":\"$18\",\"missingSlots\":\"$W19\"}]\n"])</script><script>self.__next_f.push([1,"17:[[\"$\",\"meta\",\"0\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"1\",{\"charSet\":\"utf-8\"}],[\"$\",\"title\",\"2\",{\"children\":\"Minecraft Server Manager\"}],[\"$\",\"meta\",\"3\",{\"name\":\"description\",\"content\":\"Web-based management console for Minecraft server infrastructure\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/icon.svg?0f68875a168deab8\",\"type\":\"image/svg+xml\",\"sizes\":\"any\"}],[\"$\",\"meta\",\"5\",{\"name\":\"next-size-adjust\"}]]\n7:null\n"])</script></body></html>
@@ -2,7 +2,7 @@
2
2
  3:I[6643,["6812","static/chunks/6812-f5924f14ef351036.js","7220","static/chunks/7220-4d1d72de4109ad9b.js","8006","static/chunks/8006-219c9bbc650b079e.js","7294","static/chunks/7294-ffa0013d4b0fa40a.js","8696","static/chunks/8696-8adf1e9b1a84f5c0.js","1071","static/chunks/1071-235049df1c3caba7.js","540","static/chunks/540-4b925f2c57833962.js","6189","static/chunks/6189-d8557db379604b3e.js","310","static/chunks/310-72d3b802b3cefa99.js","9654","static/chunks/9654-84c0d7b06321aab9.js","6655","static/chunks/6655-81288236c1babc44.js","6302","static/chunks/app/(main)/backups/page-cc46681d519753dd.js"],"default",1]
3
3
  4:I[14224,[],""]
4
4
  5:I[2863,[],""]
5
- 6:I[6453,["6812","static/chunks/6812-f5924f14ef351036.js","7220","static/chunks/7220-4d1d72de4109ad9b.js","8006","static/chunks/8006-219c9bbc650b079e.js","7294","static/chunks/7294-ffa0013d4b0fa40a.js","8696","static/chunks/8696-8adf1e9b1a84f5c0.js","1071","static/chunks/1071-235049df1c3caba7.js","55","static/chunks/55-cc17f03142ace10c.js","3543","static/chunks/3543-1ec838cbe59f6baa.js","8347","static/chunks/8347-d55cd74fb316fad0.js","2149","static/chunks/2149-ba1bdd1d726ab70c.js","2542","static/chunks/2542-6ea12719b9ca1b7c.js","8322","static/chunks/8322-8ae826d4c9b38acc.js","8918","static/chunks/8918-bae025d477685e7d.js","212","static/chunks/212-b904d9ae152f2360.js","4095","static/chunks/app/(main)/layout-9311354243420c0d.js"],"default",1]
5
+ 6:I[6453,["6812","static/chunks/6812-f5924f14ef351036.js","7220","static/chunks/7220-4d1d72de4109ad9b.js","8006","static/chunks/8006-219c9bbc650b079e.js","7294","static/chunks/7294-ffa0013d4b0fa40a.js","8696","static/chunks/8696-8adf1e9b1a84f5c0.js","1071","static/chunks/1071-235049df1c3caba7.js","55","static/chunks/55-cc17f03142ace10c.js","3543","static/chunks/3543-1ec838cbe59f6baa.js","8347","static/chunks/8347-d55cd74fb316fad0.js","2149","static/chunks/2149-ba1bdd1d726ab70c.js","2542","static/chunks/2542-6ea12719b9ca1b7c.js","8322","static/chunks/8322-8ae826d4c9b38acc.js","8918","static/chunks/8918-bae025d477685e7d.js","212","static/chunks/212-b904d9ae152f2360.js","4095","static/chunks/app/(main)/layout-692cb1da92b73287.js"],"default",1]
6
6
  8:I[89083,["6812","static/chunks/6812-f5924f14ef351036.js","540","static/chunks/540-4b925f2c57833962.js","5645","static/chunks/5645-d306bb768b5907c8.js","3185","static/chunks/app/layout-e0e626ece42c56d9.js"],"default"]
7
7
  9:I[48283,["6812","static/chunks/6812-f5924f14ef351036.js","540","static/chunks/540-4b925f2c57833962.js","5645","static/chunks/5645-d306bb768b5907c8.js","3185","static/chunks/app/layout-e0e626ece42c56d9.js"],"ThemeProvider"]
8
8
  a:I[22237,["6812","static/chunks/6812-f5924f14ef351036.js","540","static/chunks/540-4b925f2c57833962.js","5645","static/chunks/5645-d306bb768b5907c8.js","3185","static/chunks/app/layout-e0e626ece42c56d9.js"],"QueryProvider"]
@@ -13,6 +13,6 @@ d:{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Appl
13
13
  e:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"}
14
14
  f:{"display":"inline-block"}
15
15
  10:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0}
16
- 0:["Dhuk7IX_HBmn4_EOQA5oS",[[["",{"children":["(main)",{"children":["backups",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["(main)",{"children":["backups",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(main)","children","backups","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(main)","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/8dfdea5f9ccf5da4.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1d908f","children":["$","div",null,{"id":"__next","children":["$","$L8",null,{"children":["$","$L9",null,{"children":["$","$La",null,{"children":["$","$b",null,{"fallback":null,"children":["$","$Lc",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$d","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$e","children":"404"}],["$","div",null,{"style":"$f","children":["$","h2",null,{"style":"$10","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]}]}]}]}]}]],null],null],["$L11",null]]]]
16
+ 0:["54l5y_cPPm2v7sbdcoQao",[[["",{"children":["(main)",{"children":["backups",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["(main)",{"children":["backups",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"props":{"params":{},"searchParams":{}},"Component":"$3"}],null],null],null]},[null,["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(main)","children","backups","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined"}]],null]},[[null,["$","$L6",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children","(main)","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}],"params":"$7"}]],null],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/8dfdea5f9ccf5da4.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","children":["$","body",null,{"className":"__className_1d908f","children":["$","div",null,{"id":"__next","children":["$","$L8",null,{"children":["$","$L9",null,{"children":["$","$La",null,{"children":["$","$b",null,{"fallback":null,"children":["$","$Lc",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$d","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$e","children":"404"}],["$","div",null,{"style":"$f","children":["$","h2",null,{"style":"$10","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]}]}]}]}]}]}]],null],null],["$L11",null]]]]
17
17
  11:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Minecraft Server Manager"}],["$","meta","3",{"name":"description","content":"Web-based management console for Minecraft server infrastructure"}],["$","link","4",{"rel":"icon","href":"/icon.svg?0f68875a168deab8","type":"image/svg+xml","sizes":"any"}],["$","meta","5",{"name":"next-size-adjust"}]]
18
18
  1:null