| 19 | |
| 20 | |
| 21 | class ServerValidator(QObject): |
| 22 | def __init__(self): |
| 23 | super().__init__() |
| 24 | |
| 25 | def check(self, v, minMem, maxMem, name, jvmArg): |
| 26 | a = self.checkJavaSet(v) |
| 27 | b = self.checkMemSet(minMem, maxMem, v) |
| 28 | c = self.checkCoreSet(v) |
| 29 | d = self.checkServerNameSet(name, v) |
| 30 | e = self.checkJVMArgSet(jvmArg, v) |
| 31 | return "\n".join([ |
| 32 | a[0] if a[1] else "1", |
| 33 | b[0] if b[1] else "1", |
| 34 | c[0] if c[1] else "1", |
| 35 | d[0] if d[1] else "1", |
| 36 | e[0] if e[1] else "1", |
| 37 | ]).replace("1\n", "").replace("1", ""), int(a[1] + b[1] + c[1] + d[1] + e[1]) |
| 38 | |
| 39 | def checkJavaSet(self, v: BaseServerVariables): |
| 40 | """检查Java设置""" |
| 41 | # 基岩版服务器不需要Java |
| 42 | if hasattr(v, 'serverType') and v.serverType == "bedrock": |
| 43 | return self.tr("Java 检查: 跳过(基岩版服务器)"), 0 |
| 44 | if v.selectedJavaPath != "": |
| 45 | return self.tr("Java 检查: 正常"), 0 |
| 46 | else: |
| 47 | return self.tr("Java 检查: 出错,缺失"), 1 |
| 48 | |
| 49 | def checkMemSet(self, minMem, maxMem, v: BaseServerVariables): |
| 50 | """检查内存设置""" |
| 51 | # 基岩版服务器不需要内存设置(不使用JVM) |
| 52 | if hasattr(v, 'serverType') and v.serverType == "bedrock": |
| 53 | v.minMem = 0 |
| 54 | v.maxMem = 0 |
| 55 | return self.tr("内存检查: 跳过(基岩版服务器)"), 0 |
| 56 | |
| 57 | # 是否为空 |
| 58 | if minMem != "" and maxMem != "": |
| 59 | # 是否是数字 |
| 60 | if minMem.isdigit() and maxMem.isdigit(): |
| 61 | # 是否为整数 |
| 62 | if not int(minMem) % 1 and not int(maxMem) % 1: |
| 63 | # 是否为整数 |
| 64 | if int(minMem) <= int(minMem): |
| 65 | v.minMem = int(minMem) |
| 66 | v.maxMem = int(maxMem) |
| 67 | return self.tr("内存检查: 正常"), 0 |
| 68 | |
| 69 | else: |
| 70 | return ( |
| 71 | self.tr("内存检查: 出错, 最小内存必须小于等于最大内存"), |
| 72 | 1, |
| 73 | ) |
| 74 | else: |
| 75 | return self.tr("内存检查: 出错, 不为整数"), 1 |
| 76 | else: |
| 77 | return self.tr("内存检查: 出错, 不为数字"), 1 |
| 78 | else: |
no outgoing calls
no test coverage detected