1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
package xyz.brysonsteck.ServerCraft.server
import java.io.File
import java.io.InputStream
import java.io.FileNotFoundException
import java.util.Properties
public class Server {
public var jar = ""
public var dir = ""
private val props = Properties()
public fun loadProps() {
props.setProperty("allow-flight", false.toString())
props.setProperty("allow-nether", true.toString())
props.setProperty("generate-structures", true.toString())
props.setProperty("hardcore", false.toString())
props.setProperty("pvp", true.toString())
props.setProperty("white-list", false.toString())
props.setProperty("enable-command-block", false.toString())
props.setProperty("hide-online-players", false.toString())
props.setProperty("max-players", 20.toString())
props.setProperty("max-world-size", 29999984.toString())
props.setProperty("server-port", 25565.toString())
props.setProperty("view-distance", 10.toString())
props.setProperty("jvm-ram", 1024.toString())
props.setProperty("spawn-protection", 16.toString())
props.setProperty("simulation-distance", 10.toString())
props.setProperty("max-tick-time", 60000.toString())
props.setProperty("difficulty", "normal")
props.setProperty("gamemode", "survival")
props.setProperty("level-name", "world")
props.setProperty("level-seed", "")
props.setProperty("level-type", "minecraft:normal")
props.setProperty("motd", "A server for a dummy")
writeProps()
}
public fun loadProps(dir: String, convert: Boolean = false) {
var ins = File(dir + File.separator + "server.properties").inputStream()
props.load(ins)
try {
ins = File(dir + File.separator + "ServerCraft" + File.separator + "ServerCraft.properties").inputStream()
props.load(ins)
} catch (e: FileNotFoundException) {
if (convert) {
// create the file in question, as this is an external server being converted into a ServerCraft managed one
File(dir + File.separator + "ServerCraft" + File.separator + "ServerCraft.properties").createNewFile()
// also apply app-specific properties
props.setProperty("jvm-ram", 1024.toString())
// then write to file
val temp = Properties()
val outs = File(dir + File.separator + "ServerCraft" + File.separator + "ServerCraft.properties").outputStream()
temp.setProperty("jvm-ram", props.getProperty("jvm-ram"))
temp.store(outs, "ServerCraft settings backup\nSometimes, Minecraft will completely overwrite the server.properties file,\ncompletely destroying these app-specific settings. This file backs up these settings\njust in case. :)\nhttps://codeberg.org/brysonsteck/ServerCraft")
} else {
println(e)
}
}
}
private fun writeProps() {
var outs = File(dir + File.separator + "server.properties").outputStream()
props.store(outs, "Minecraft server properties\nCreated with ServerCraft: https://codeberg.org/brysonsteck/ServerCraft")
val temp = Properties()
outs = File(dir + File.separator + "ServerCraft" + File.separator + "ServerCraft.properties").outputStream()
temp.setProperty("jvm-ram", props.getProperty("jvm-ram"))
temp.store(outs, "ServerCraft settings backup\nSometimes, Minecraft will completely overwrite the server.properties file,\ncompletely destroying these app-specific settings. This file backs up these settings\njust in case. :)\nhttps://codeberg.org/brysonsteck/ServerCraft")
}
public fun getProp(prop: String): String {
return props.getProperty(prop)
}
public fun setProp(key: String, value: Any) {
props.setProperty(key, value.toString())
writeProps()
}
}
|