-
Notifications
You must be signed in to change notification settings - Fork 2
/
app.js
1 lines (1 loc) · 23.1 KB
/
app.js
1
(()=>{"use strict";var e={165:function(e,t,s){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=a(s(147)),r=s(187);console.log(" _ _ _ _ _ \n /\\_\\/\\_\\ _ / /\\ / /\\ /\\ \\ \n / / / / //\\_\\ / / \\ / / \\ / \\ \\ \n /\\ \\/ \\ \\/ / // / /\\ \\__ / / /\\ \\__ / /\\ \\ \\ \n / \\____\\__/ // / /\\ \\___\\/ / /\\ \\___\\ / / /\\ \\ \\ \n / /\\/________/ \\ \\ \\ \\/___/\\ \\ \\ \\/___/ \\/_//_\\ \\ \\ \n / / /\\/_// / / \\ \\ \\ \\ \\ \\ __\\___ \\ \\ \n / / / / / /_ \\ \\ \\ _ \\ \\ \\ / /\\ \\ \\ \\ \n/ / / / / //_/\\__/ / / /_/\\__/ / / / /_/____\\ \\ \\ \n\\/_/ / / / \\ \\/___/ / \\ \\/___/ / /__________\\ \\ \\ \n \\/_/ \\_____\\/ \\_____\\/ _____________\\/ \n"),console.log("[MSS 3] Powered By SkyWorldStudio"),console.log(`[MSS 3] Version: ${(0,r.getInfo)("version")}`),console.log("[MSS 3] Init Starting");const o="public";n.default.existsSync(o)||(console.log('[MSS 3] Warning! This is the developer version! For users, please refer to wiki. For developers, you can create a "public" folder in the root directory'),process.exit(0));const i=s(326);console.log("[MSS 3] Loading program settings"),(0,i.initUserConfig)(),i.userConfig.debug&&console.log("[MSS 3] Warning! Now in debugging mode, important information may be output. If not, please close this mode! ");const u=s(95);console.log("[MSS 3] "+(0,u.getMessage)("app.initLang"));const l=a(s(873));l.default.log((0,u.getMessage)("app.initLogger")),l.default.log((0,u.getMessage)("app.initOver")),l.default.debug("Server Config");const d=a(s(719)),c=a(s(406)),f=a(s(4)),g=a(s(511)),p=a(s(97)),h=a(s(685)),_=s(828),m=a(s(868)),y=a(s(33)),S=a(s(38)),w=new c.default;w.keys=[(0,_.v4)()],w.use((0,g.default)({key:(0,_.v4)(),maxAge:864e5,overwrite:!0,httpOnly:!0,signed:!0,rolling:!1,renew:!1,secure:!1},w)),w.use((0,f.default)({multipart:!0,parsedMethods:["POST","PUT","DELETE","GET"]})),w.use((0,p.default)(o)),w.use((async(e,t)=>{l.default.info(`[Req] Method: ${e.method} URL: ${e.URL.href}`),l.default.info(`[Req] IP: ${e.ip} User: ${e.session.userName} UUID: ${e.session.uuid}`),await t()})),w.use(y.default),w.use(m.default.routes()).use(m.default.allowedMethods()),l.default.debug("Server Start");const b=h.default.createServer(w.callback()),C=i.userConfig.port,v=i.userConfig.address;if(b.listen(C,v),l.default.info("=----------------------------------------="),l.default.info((0,u.getMessage)("app.Started")),l.default.info((0,u.getMessage)("app.StartedTip")),l.default.info((0,u.getMessage)("app.StartedHost",{port:C})),l.default.info("=----------------------------------------="),"win32"==d.default.platform())try{open(`http://localhost:${C}/`)}catch(e){l.default.warn((0,u.getMessage)("app.Win32WebError"))}S.default.initChartView()},68:function(e,t,s){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=a(s(147)),r=a(s(17));t.default=new class{constructor(){this.CONFIG_PATH=r.default.join(process.cwd(),"data"),n.default.existsSync(this.CONFIG_PATH)||n.default.mkdirSync(this.CONFIG_PATH)}create(e,t,s){const a=r.default.join(this.CONFIG_PATH,e);if(n.default.existsSync(a)||n.default.mkdirSync(a),!this.checkFileName(t))throw new Error("Illegal profile name!");const o=JSON.stringify(s),i=r.default.join(a,t+".json");n.default.writeFileSync(i,o,{encoding:"utf-8"})}get(e,t,s){const a=r.default.join(this.CONFIG_PATH,e);if(n.default.existsSync(a)||n.default.mkdirSync(a),!this.checkFileName(s))throw new Error("Illegal profile name!");const o=r.default.join(a,s+".json");if(!n.default.existsSync(o))return null;const i=n.default.readFileSync(o,{encoding:"utf-8"}),u=JSON.parse(i);return this.JSONToClass(new t,u)}gets(e,t){const s=r.default.join(this.CONFIG_PATH,e);n.default.existsSync(s)||n.default.mkdirSync(s);const a=n.default.readdirSync(s),o=new Array;return a.forEach((e=>{if(e.endsWith(".json")){const a=n.default.readFileSync(r.default.join(s,e),{encoding:"utf-8"}),i=JSON.parse(a);o.push(this.JSONToClass(t,i))}})),o}set(e,t,s){const a=r.default.join(this.CONFIG_PATH,e);if(n.default.existsSync(a)||n.default.mkdirSync(a),!this.checkFileName(t))throw new Error("Illegal profile name!");n.default.writeFileSync(r.default.join(a,t+".json"),JSON.stringify(s),{encoding:"utf-8"})}JSONToClass(e,t){for(const s of Object.keys(e)){const a=t[s];void 0!==a&&(a instanceof Array?e[s]=a:a instanceof Object&&"object"==typeof a?this.JSONToClass(e[s],a):e[s]=a)}return e}checkFileName(e){const t=["\\","/",".."];for(const s of t)if(e.includes(s))return!1;return!0}}},873:function(e,t,s){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=a(s(94)),r=s(326);n.default.configure({appenders:{console:{type:"stdout",layout:{type:"pattern",pattern:"[%d{MM/dd hh:mm:ss}] [%[%p%]] %m"}},logFile:{type:"file",filename:"logs/last.log",layout:{type:"pattern",pattern:"%d %p %m"}}},categories:{default:{appenders:["console","logFile"],level:r.userConfig.debug?"debug":"info"}}});const o=n.default.getLogger("default");t.default=o},187:function(e,t,s){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getInfo=void 0;const n=a(s(147)),r="package.json";t.getInfo=function(e){if(n.default.existsSync(r)){const t=JSON.parse(n.default.readFileSync(r,{encoding:"utf-8"}));if(t[e])return t[e]}}},617:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});class s{static set(e,t){s.data.set(e,t)}static get(e,t){return s.data.has(e)?s.data.get(e):t}static remove(e){return s.data.delete(e)}}t.default=s,s.data=new Map},95:function(e,t,s){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.langs=t.i18n=t.getMessage=void 0;const n=a(s(805));t.i18n=n.default;const r=a(s(867)),o=a(s(438)),i=a(s(147)),u=a(s(17)),l=a(s(68));n.default.init({lng:"en_US",fallbackLng:["en_US"],resources:{zh_CN:{translation:r.default},en_US:{translation:o.default}}});const d=[{value:"en_US",name:"English (United States)",by:"SkyWorldStudio"},{value:"zh_CN",name:"简体中文",by:"SkyWorldStudio"}];t.langs=d;const c=u.default.join(l.default.CONFIG_PATH,"langs");i.default.existsSync(c)||i.default.mkdirSync(c);const f=i.default.readdirSync(c);let g="[MSS 3] Loaded Lang File: en_US, zh_CN";f.forEach((e=>{var t,s;if(e.endsWith(".json")){const a=e.replace(".json",""),r=i.default.readFileSync(u.default.join(c,e),{encoding:"utf-8"}),o=JSON.parse(r);n.default.addResourceBundle(a,"translation",o),n.default.reloadResources(),d.push({value:a,name:null!==(t=o.LangName)&&void 0!==t?t:"Unknown",by:null!==(s=o.LangBy)&&void 0!==s?s:"Unknown"}),g+=", "+a}})),console.log(g);const p=n.default.t;t.getMessage=p},279:function(e,t,s){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=a(s(873));function r(e,t){if(e){for(const s in t){if(n.default.debug(`Check RequestData: ${s} - ${t[s].name}`),null==e[s]||""===e[s])return!1;const a=t[s];if(a===String)try{e[s]=String(e[s]);continue}catch(e){throw Error(s+" Param Need String")}if(a===Number)try{if(e[s]=Number(e[s]),isNaN(e[s]))return!1;continue}catch(e){throw Error(s+" Param Need Number")}if(a===Array)try{if(!(e[s]instanceof Array)){const t=JSON.parse(e[s]);if(!(t instanceof Array))return!1;e[s]=t}}catch(e){throw Error(s+" Param Need Array")}if(a===Date)try{const t=new Date(e[s]).toString();if("Error Date"==t||null==t)return!1;e[s]=new Date(e[s]);continue}catch(e){throw Error(s+" Param Need Data")}if(a===Object&&!e[s])return!1}return!0}return!1}t.default=function(e){return async(t,s)=>{try{let a=!0;return e.body&&!r(t.request.body,e.body)&&(a=!1),e.query&&!r(t.request.query,e.query)&&(a=!1),a?await s():(n.default.debug("Check RequestData Failed"),function(e){e.status=400,e.body="Request parameters error"}(t))}catch(e){t.status=500,t.body=`${e.message}`}}}},33:function(e,t,s){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=s(781),r=a(s(873)),o=a(s(617));t.default=async function(e,t){e.url.startsWith("/api/")&&o.default.set("ApiReqCount",o.default.get("ApiReqCount",0)+1);try{await t()}catch(t){e.body=t}if(e.cookies.set("ApplicationPowerBy","SkyWorldStudio"),e.cookies.set("Application","MinecraftServerStart3"),e.body instanceof Error)return r.default.error(e.body),e.status=500,void(e.body=JSON.stringify({status:500,data:e.body.message,time:(new Date).getTime()}));if(!(e.body instanceof n.Stream)){if(404==e.status)return e.status=404,void(e.body=JSON.stringify({status:e.status,data:"404 Not Found",time:(new Date).getTime()}));if(400!=e.status&&403!=e.status){if("string"==typeof e.body)return e.status=200,void(e.body=JSON.stringify({status:200,data:e.body,time:(new Date).getTime()}));if(405!=e.status)return null===e.body||!1===e.body||void 0===e.body?(e.status=500,void(e.body=JSON.stringify({status:500,data:e.body||null,time:(new Date).getTime()}))):void(200!=e.status||(e.body=JSON.stringify({status:e.status,data:e.body,time:(new Date).getTime()})));e.body=JSON.stringify({status:e.status,data:"405 Method Not Allowed",time:(new Date).getTime()})}else e.body=JSON.stringify({status:e.status,data:e.body,time:(new Date).getTime()})}}},130:function(e,t,s){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=a(s(873)),r=a(s(54));t.default=function(e){return async(t,s)=>{n.default.debug("Check Permission: "+e);const a=r.default.getUserFromUUID(t.session.uuid);if(a&&!a.permissions.ban){let t=!0;if(e.forEach((e=>{a.permissions[e]||(t=!1)})),t)return await s()}return n.default.debug("Check Permission Failed"),function(e){e.status=403,e.body="Forbidden"}(t)}}},648:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.language="en_US",this.port=2332,this.address="127.0.0.1",this.debug=!1}}},783:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.permissions=Object.create(null),this.uuid="",this.registerTime="",this.username="",this.password="",this.lastLoginTime="",this.permissions={ban:!1,canOverview:!1}}}},868:function(e,t,s){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=a(s(640)),r=a(s(325)),o=a(s(546)),i=a(s(873)),u=new n.default({prefix:"/api"});i.default.debug("Register Router"),u.use(r.default.routes()).use(r.default.allowedMethods()),u.use(o.default.routes()).use(o.default.allowedMethods()),t.default=u},546:function(e,t,s){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=a(s(640)),r=s(95),o=s(95),i=s(326),u=a(s(279)),l=a(s(54)),d=a(s(130)),c=a(s(617)),f=a(s(38)),g=new n.default({prefix:"/panel"});g.get("/",(async e=>e.body={init:l.default.getUserCount()>0})),g.post("/init",(0,u.default)({body:{lang:String}}),(async e=>{if(0===l.default.getUserCount()){const t=e.request.body.lang;if(null==r.i18n.getDataByLanguage(t))throw new Error((0,o.getMessage)("router.panel.langNameError"));return r.i18n.changeLanguage(t),i.userConfig.language=t,(0,i.save)(),e.body=!0}throw new Error((0,o.getMessage)("app.initd"))})),g.get("/lang",(async e=>{const t=r.i18n.getDataByLanguage(r.i18n.language).translation.front;return e.body={langs:r.langs,json:t}})),g.get("/overview",(0,d.default)(["canOverview"]),(0,u.default)({query:{viewType:String}}),(async e=>{let t=e.request.query.viewType.toString().split(",");return e.body={Login:[c.default.get("LoginFailedCount",0),c.default.get("LoginCount",0)],Instances:[114,514],Daemons:[520,1314],CPUANDRAM:[f.default.cpuUsage,f.default.ramUsage],CPU:"0"==t[0]?f.default.getToday().cpu[0]:"1"==t[0]?f.default.getToday().cpu[1]:"2"==t[0]?f.default.getToday().cpu[2]:f.default.getWeeks().cpu[0],RAM:"0"==t[1]?f.default.getToday().ram[0]:"1"==t[1]?f.default.getToday().ram[1]:"2"==t[1]?f.default.getToday().ram[2]:f.default.getWeeks().ram[0],ChartStartTime:f.default.getToday().startTime}})),t.default=g},325:function(e,t,s){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=a(s(640)),r=a(s(490)),o=a(s(873)),i=s(95),u=a(s(279)),l=a(s(130)),d=a(s(54)),c=new n.default({prefix:"/user"});c.get("/",(0,l.default)([]),(async e=>{const t=d.default.getUserFromUUID(e.session.uuid);return e.body={uuid:t.uuid,username:t.username,registerTime:t.registerTime,lastLoginTime:t.lastLoginTime,permission:t.permissions}})),c.post("/init",(0,u.default)({body:{username:String,password:String}}),(async e=>{if(0===d.default.getUserCount()){const t=e.request.body.username,s=e.request.body.password;if(!d.default.passwordCheck(s))throw new Error((0,i.getMessage)("router.user.passwordCheck"));return o.default.info((0,i.getMessage)("app.panelInit",{userName:t})),d.default.create({username:t,password:s,permissions:d.default.getAdminPermission()}),d.default.login(e,t,(0,r.default)(s)),e.body=!0}throw new Error((0,i.getMessage)("app.initd"))})),c.post("/login",(0,u.default)({body:{username:String,password:String}}),(async e=>{const t=e.request.body.username,s=e.request.body.password;if(d.default.login(e,t,s))return e.body=!0;throw new Error((0,i.getMessage)("router.user.loginFailed"))})),t.default=c},38:function(e,t,s){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=a(s(719)),r=a(s(68));class o{constructor(){this.cpu=[[],[],[]],this.ram=[[],[],[]]}}t.default=new class{constructor(){this.cpuUsage=0,this.ramUsage=0,this.data=new o,this.firstCount=0,this.secondCount=0}initChartView(){this.data.startTime=new Date,setInterval((()=>{this.getCPUUsage().then((e=>this.cpuUsage=Math.floor(100*e)/100)),this.ramUsage=Math.floor((n.default.totalmem()-n.default.freemem())/n.default.totalmem()*100)/100}),1e3),setInterval((()=>{this.data.cpu[0].push(this.cpuUsage),this.data.ram[0].push(this.ramUsage),this.data.cpu[0].length>12&&this.data.cpu[0].shift(),this.data.ram[0].length>12&&this.data.ram[0].shift(),this.firstCount++,6==this.firstCount&&(this.data.cpu[1].push(this.cpuUsage),this.data.ram[1].push(this.ramUsage),this.data.cpu[1].length>24&&this.data.cpu[1].shift(),this.data.ram[1].length>24&&this.data.ram[1].shift(),this.secondCount++,this.firstCount=0),2==this.secondCount&&(this.data.cpu[2].push(this.cpuUsage),this.data.ram[2].push(this.ramUsage),this.data.cpu[2].length>12&&this.data.cpu[2].shift(),this.data.ram[2].length>12&&this.data.ram[2].shift(),this.secondCount=0);const e=new Date;r.default.set("Charts",`${e.getFullYear()}-${e.getMonth()+1}-${e.getDate()}`,this.data)}),3e3)}getToday(){return this.data}getWeeks(){const e=new o;for(let t=0;t<7;t++){const s=new Date,a=r.default.get("Charts",o,`${s.getFullYear()}-${s.getMonth()}-${s.getDay()-6+t}`);null!=a&&(e.cpu[0].push(a.cpu[0].pop()),e.ram[0].push(a.ram[0].pop()))}return e}async getCPUUsage(){const e=this._getCPUInfo();await this.sleep(1e3);const t=this._getCPUInfo();return 1-(t.idle-e.idle)/(t.total-e.total)}_getCPUInfo(){const e=n.default.cpus();let t=0,s=0,a=0,r=0,o=0,i=0;for(let n in e){const i=e[n].times;t+=i.user,s+=i.nice,a+=i.sys,r+=i.idle,o+=i.irq}return i+=t+s+a+r+o,{user:t,sys:a,idle:r,total:i}}async sleep(e){return new Promise((t=>{setTimeout(t,e)}))}}},54:function(e,t,s){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=a(s(490)),r=s(828),o=a(s(783)),i=a(s(68)),u=a(s(617)),l=a(s(873));t.default=new class{constructor(){this.users=new Map,i.default.gets("Users",new o.default).forEach((e=>{this.users.set(e.uuid,e)})),l.default.log("[UserManager] User Count: "+this.users.size)}getUserCount(){return this.users.size}passwordCheck(e){return/^(?=.*[A-Z])(?=.*[a-z])(?=.*\d)[A-Za-z\d]{8,15}$/.test(e)}login(e,t,s){u.default.set("LoginCount",u.default.get("LoginCount",0)+1);const a=e.socket.remoteAddress;if(this.userCheck(t,s)){l.default.log(`[Login] IP: ${a} loginUser: ${t} Successful!`);const s=this.getUserFromName(t),n=s.uuid;return s.lastLoginTime=(new Date).toLocaleString(),i.default.set("Users",n,s),e.session.isLogin=!0,e.session.userName=t,e.session.uuid=n,e.session.save(),!0}{u.default.set("LoginFailedCount",u.default.get("LoginFailedCount",0)+1);const e=u.default.get("LoginFailedIp",new Map);return u.default.set("LoginFailedIp",u.default.get("LoginFailedIp",e.set(a,e.get(a,0)+1))),l.default.log(`[Login] IP: ${a} loginUser: ${t} Failed!`),!1}}getUserFromName(e){let t=null;return this.users.forEach((s=>{s.username==e&&(t=s)})),t}getUserFromUUID(e){let t=null;return this.users.forEach((s=>{s.uuid==e&&(t=s)})),t}create(e){const t=(0,r.v4)().replace("-",""),s=new o.default;s.uuid=t,s.registerTime=(new Date).toLocaleString(),this.users.set(t,s),this.edit(t,e)}edit(e,t){const s=this.users.get(e);t.username&&(s.username=t.username),t.password&&(s.password=(0,n.default)(t.password)),t.permissions&&(s.permissions=t.permissions),i.default.set("Users",e,s)}userCheck(e,t){const s=this.getUserFromName(e);return s&&t==s.password}getAdminPermission(){return{ban:!1,canOverview:!0}}}},326:function(e,t,s){var a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.userConfig=t.save=t.initUserConfig=void 0;const n=a(s(68)),r=a(s(648)),o=s(95);let i=null;t.userConfig=i,t.initUserConfig=function(){t.userConfig=i=n.default.get("Configs",r.default,"default"),i||(t.userConfig=i=new r.default,n.default.create("Configs","default",i)),i.language&&o.i18n.changeLanguage(i.language)},t.save=function(){n.default.set("Configs","default",i)}},640:e=>{e.exports=require("@koa/router")},805:e=>{e.exports=require("i18next")},406:e=>{e.exports=require("koa")},4:e=>{e.exports=require("koa-body")},511:e=>{e.exports=require("koa-session")},97:e=>{e.exports=require("koa-static")},94:e=>{e.exports=require("log4js")},490:e=>{e.exports=require("md5")},719:e=>{e.exports=require("os")},828:e=>{e.exports=require("uuid")},147:e=>{e.exports=require("fs")},685:e=>{e.exports=require("http")},17:e=>{e.exports=require("path")},781:e=>{e.exports=require("stream")},438:e=>{e.exports=JSON.parse('{"app":{"initLang":"Internationalization system initialization complete, language: English (United States)","initLogger":"Logging system initialization finished","initOver":"Initialization completed","Started":"MSS3 Panel Service is started!","StartedTip":"Press Ctrl + c to stop the panel","StartedHost":"Listening to http://localhost:{{port}}","Win32WebError":"Unable to automatically evoke the Windows browser, please try opening the panel manually","panelInit":"The panel is initializing! Creating user: {{userName}}","initd":"The panel has been initialized!"},"router":{"user":{"passwordCheck":"The password is illegal!","loginFailed":"Username or password incorrect"},"panel":{"langNameError":"Language does not exist!"}},"front":{"app":{"Username":"Username","Password":"Password","Create":"Create","Start":"Start","Next":"Next","Error":"Error","Clickhere":"Click here"},"pages":{"init":{"Step1Title":"Welcome to use Minecraft Server Start 3","Step1SubTitle":"We will start booting step","Step2Title":"Please enter your language","Step2Lang":"(ISO 639) Chinese: zh_CN English: en_US","Step2Error":"Please enter language code","Step3Title":"Create a admin account","Step3SubTitle":"For your safety, the password needs 8-15 characters, at least 1 uppercase letter, 1 lowercase letter, 1 number, no special symbols","Step3Error":"Username or password can not be empty","Step4Title":"Installation complete","Step4SubTitle":"This page will refresh after 5 seconds. If there is no refresh, {0} manually refresh"},"login":{"Title":"Login to MSS 3","Login":"Login","UsernamePH":"Input your username","PasswordPH":"Input your password","ForgetPassword":"Forgot your password?","CantNull":"Username or password can\'t be empty"}},"panel":{"Overview":"Overview","Occupancy":"Occupancy","CPUAndRAMPercent":"CPU used/RAM used","Security":"Security","WrongAndTotal":"Wrong/Total","InstanceStatus":"Instances","RunningAndTotal":"Running/Total","NodeConnectionInfo":"Daemons","ConnectedAndTotal":"Online/Total","Docker":"Docker","Instances":"Instances","Daemons":"Daemons","Chart":"Charts","SystemOccupancyTitle":"System Occupancy","OccupancyFormat":"Occupancy <br/>{\'{\'}b{\'}\'} : {\'{\'}c{\'}\'}%","Ago":"ago","Unit":"unit","Memory":"Memory","Now":"now","Time":"Time","Select":"Select the Time Area"}}}')},867:e=>{e.exports=JSON.parse('{"app":{"initLang":"国际化系统初始化完成, 语言: 简体中文","initLogger":"日志系统初始化完成","initOver":"初始化完成","Started":"MSS 3 面板服务已启动!","StartedTip":"如果想退出 MSS 3 可以使用 ctrl + c 终止程序","StartedHost":"面板已经在 http://localhost:{{port}} 开始监听","Win32WebError":"无法自动唤起 Windows 浏览器,请尝试手动打开面板","panelInit":"面板正在初始化! 创建用户: {{userName}}","initd":"面板已经初始化过了!"},"router":{"user":{"passwordCheck":"密码不合法!","loginFailed":"用户名或密码错误!"},"panel":{"langNameError":"语言不存在!"}},"front":{"app":{"Username":"用户名","Password":"密码","Create":"创建","Start":"开始","Next":"下一步","Error":"错误","Clickhere":"点击此处"},"pages":{"init":{"Step1Title":"欢迎使用 Minecraft Server Start 3","Step1SubTitle":"接下来将开始安装引导","Step2Title":"请输入您的语言","Step2Lang":"(ISO 639) 汉语: zh_CN English: en_US","Step2Error":"请输入语言代码","Step3Title":"请创建一个管理员账户","Step3SubTitle":"为了您的安全, 密码需要 8-15 个字符, 至少 1 个大写字母, 1 个小写字母, 1 个数字, 不能有特殊符号","Step3Error":"用户名或密码不能为空","Step4Title":"MSS 3 安装完成","Step4SubTitle":"此页面将在 5 秒后刷新以开始使用 MSS 3. 如果没有刷新, {0} 手动刷新"},"login":{"Title":"登录到 MSS 3","Login":"登录","UsernamePH":"请输入您的用户名","PasswordPH":"请输入您的密码","ForgetPassword":"忘记密码","CantNull":"用户名或密码不能为空"}},"panel":{"Overview":"面板总览","Occupancy":"系统占用率","CPUAndRAMPercent":"CPU占用百分比/内存占用百分比","Security":"面板安全","WrongAndTotal":"登陆错误次数/登陆总次数","InstanceStatus":"实例状态","RunningAndTotal":"实例开启个数/实例总个数","NodeConnectionInfo":"守护进程信息","ConnectedAndTotal":"守护进程连接个数/总个数","Docker":"虚拟容器","Instances":"实例管理","Daemons":"守护进程","Chart":"数据图表","SystemOccupancyTitle":"系统占用","OccupancyFormat":"占用 <br/>{\'{\'}b{\'}\'} : {\'{\'}c{\'}\'}%","Ago":"前","Unit":"单位时间","Memory":"内存","Now":"现在","Time":"时间","Select":"选择时间段"}}}')}},t={};!function s(a){var n=t[a];if(void 0!==n)return n.exports;var r=t[a]={exports:{}};return e[a].call(r.exports,r,r.exports,s),r.exports}(165)})();