AY 4 yıl önce
ebeveyn
işleme
e226384af0
43 değiştirilmiş dosya ile 352 ekleme ve 247 silme
  1. 21 107
      main.go
  2. 29 0
      mod/server/core.go
  3. 24 0
      mod/server/io.go
  4. 70 0
      mod/server/server.go
  5. 10 0
      mod/server/struct.go
  6. 1 1
      server/banned-ips.json
  7. 1 1
      server/banned-players.json
  8. 1 1
      server/eula.txt
  9. BIN
      server/logs/2020-12-13-1.log.gz
  10. BIN
      server/logs/2020-12-13-2 2.log.gz
  11. BIN
      server/logs/2020-12-13-2 3.log.gz
  12. BIN
      server/logs/2020-12-13-2.log.gz
  13. BIN
      server/logs/2020-12-13-3.log.gz
  14. BIN
      server/logs/2020-12-13-4.log.gz
  15. BIN
      server/logs/2020-12-13-5.log.gz
  16. BIN
      server/logs/2020-12-13-6.log.gz
  17. BIN
      server/logs/2020-12-13-7.log.gz
  18. 59 85
      server/logs/latest.log
  19. 8 1
      server/ops.json
  20. 50 48
      server/server.properties
  21. 1 1
      server/usercache.json
  22. BIN
      server/world/DIM-1/data/raids.dat
  23. BIN
      server/world/DIM1/data/raids_end.dat
  24. 16 1
      server/world/advancements/3d1c0ed1-d4d0-42ae-ac5e-a7557d5a6c4f.json
  25. BIN
      server/world/data/raids.dat
  26. BIN
      server/world/level.dat
  27. BIN
      server/world/level.dat_old
  28. BIN
      server/world/playerdata/3d1c0ed1-d4d0-42ae-ac5e-a7557d5a6c4f.dat
  29. BIN
      server/world/playerdata/3d1c0ed1-d4d0-42ae-ac5e-a7557d5a6c4f.dat_old
  30. BIN
      server/world/poi/r.-1.-1.mca
  31. BIN
      server/world/poi/r.-2.-1.mca
  32. BIN
      server/world/poi/r.0.-1.mca
  33. BIN
      server/world/region/r.-1.-1.mca
  34. BIN
      server/world/region/r.-1.-2.mca
  35. BIN
      server/world/region/r.-1.0.mca
  36. BIN
      server/world/region/r.-2.-1.mca
  37. BIN
      server/world/region/r.-2.-2.mca
  38. BIN
      server/world/region/r.-2.0.mca
  39. BIN
      server/world/region/r.0.-1.mca
  40. BIN
      server/world/region/r.0.-2.mca
  41. BIN
      server/world/region/r.0.0.mca
  42. 1 1
      server/world/stats/3d1c0ed1-d4d0-42ae-ac5e-a7557d5a6c4f.json
  43. 60 0
      testing.txt

+ 21 - 107
main.go

@@ -2,120 +2,34 @@ package main
 
 import (
 	"fmt"
+	"time"
 
-	"aytechnology.us/gominecraft/mod/config"
+	"aytechnology.us/gominecraft/mod/server"
 )
 
-//"os"
-//"io"
-//"os/exec"
-//"strings"
-//"time"
-
 func main() {
-	mcs := config.NewHandler("./server/")
-	/*
-		p := mcs.ReadAllProperties()
-		fmt.Println(p)
-		mcs.ChangeProperties("gamemode", "creative")
-		mcs.SaveProperties()
-	*/
 	/*
-		q := mcs.ReadAllBannedIPs()
-		fmt.Println(q)
-		mcs.WriteBannedIP("111.11.11.11", "2020-12-13", "Srv", "forever", "LLM")
-		q = mcs.ReadBannedIP("LLM", "reason")
-		fmt.Println(q)
-		mcs.RemoveBannedIP("dllmeaa", "reason")
-		q = mcs.ReadAllBannedIPs()
-		fmt.Println(q)
-		mcs.SaveAllBannedIPs()
-	*/
-	/*
-		r := mcs.ReadAllBannedPlayers()
-		fmt.Println(r)
-		mcs.WriteBannedPlayer("1234", "HyperXraft", "2020-12-12", "Serrver", "forever", "FUCK")
-		fmt.Println(mcs.ReadBannedPlayer("HyperXraft", "name"))
-		r = mcs.ReadAllBannedPlayers()
-		fmt.Println(r)
-		mcs.RemoveBannedPlayer("HyperXraft", "name")
-		r = mcs.ReadAllBannedPlayers()
-		fmt.Println(r)
-		mcs.SaveAllBannedPlayers()
-	*/
-	/*
-		s := mcs.ReadAllOps()
-		fmt.Println(s)
-		mcs.WriteOps("ffff", "Hyper", 3, true)
-		s = mcs.ReadAllOps()
-		fmt.Println(s)
-		fmt.Println(mcs.ReadOps("Hyper", "name"))
-		mcs.RemoveOps("TC", "name")
-		s = mcs.ReadAllOps()
-		fmt.Println(s)
-		mcs.SaveAllOps()
-	*/
-	/*
-		t := mcs.ReadAllWhitelists()
-		fmt.Println(t)
-		mcs.WriteWhitelist("1234", "TC")
-		t = mcs.ReadAllWhitelists()
-		fmt.Println(t)
-		fmt.Println(mcs.ReadWhitelist("TC", "name"))
-		mcs.RemoveWhitelist("Alanyeung", "name")
-		mcs.SaveAllWhitelists()
+		resp, _ := mcping.Ping("localhost:25565")
+		fmt.Println(resp.Online, "players online")
+		for _, user := range resp.Sample {
+			io.WriteString(stdin, "/kick "+user.Name+" Server fucked up!\n")
+		}
 	*/
-	u := mcs.ReadEULA()
-	fmt.Println(u)
-	mcs.WriteEULA(false)
-	u = mcs.ReadEULA()
-	fmt.Println(u)
-	mcs.SaveEULA()
-	/*
-		cmdName := "java -Xmx1024M -Xms1024M -jar server.jar nogui"
-		cmdArgs := strings.Fields(cmdName)
-
-		cmd := exec.Command(cmdArgs[0], cmdArgs[1:len(cmdArgs)]...)
-		cmd.Dir = "./server"
-		stdout, _ := cmd.StdoutPipe()
-		stdin, _ := cmd.StdinPipe()
-		cmd.Start()
-		oneByte := make([]byte, 4096)
-
-		go func() {
-			for {
-				_, err := stdout.Read(oneByte)
-				if err != nil {
-					fmt.Printf(err.Error())
-					break
-				}
-				r := bufio.NewReader(stdout)
-				line, _, _ := r.ReadLine()
-				fmt.Println(string(line))
-			}
-		}()
-		num := 0
+	server := server.NewHandler("java", "server.jar", "1024M", "1024M", "")
+	server.StartService()
+	go func() {
+		i := 0
 		for {
-			time.Sleep(2 * time.Second)
-			defer stdin.Close()
-
-			resp, _ := mcping.Ping("localhost:25565")
-			fmt.Println(resp.Online, "players online")
-			for _, user := range resp.Sample {
-				io.WriteString(stdin, "/kick " + user.Name + " Server fucked up!\n")
-			}
-
-
-			num = num + 1
-			if num > 30 {
-				io.WriteString(stdin, "/stop\n")
-			}
-			if num > 33 {
-				cmd.Process.Kill()
-				os.Exit(0)
+			end := server.LenLog()
+			log := server.ReadRangeLog(i, end)
+			for _, line := range log {
+				fmt.Println(line.Log)
 			}
+			i = end
 		}
-
-		cmd.Wait()
-	*/
+	}()
+	time.Sleep(80 * time.Second)
+	fmt.Println("STOP!!")
+	server.SendCommand("stop")
+	time.Sleep(40 * time.Second)
 }

+ 29 - 0
mod/server/core.go

@@ -0,0 +1,29 @@
+package server
+
+import "io"
+
+//Handler is handler
+type Handler struct {
+	ServerJar string
+	JavaPath  string
+	minRAM    string
+	maxRAM    string
+	args      string
+	stdout    io.ReadCloser
+	stdin     io.WriteCloser
+	log       []Log
+}
+
+//NewHandler means everythign starts here :)
+func NewHandler(JavaPath string, ServerJar string, minRAM string, maxRAM string, args string) *Handler {
+	NewlyCreatedHandler := Handler{
+		ServerJar: ServerJar,
+		JavaPath:  JavaPath,
+		minRAM:    minRAM,
+		maxRAM:    maxRAM,
+		args:      args,
+		log:       []Log{},
+	}
+
+	return &NewlyCreatedHandler
+}

+ 24 - 0
mod/server/io.go

@@ -0,0 +1,24 @@
+package server
+
+import "io"
+
+//ReadAllLog is exported
+func (server *Handler) ReadAllLog() []Log {
+	return server.log
+}
+
+//ReadRangeLog is exported
+func (server *Handler) ReadRangeLog(start int, end int) []Log {
+	return server.log[start:end]
+}
+
+//LenLog is exported
+func (server *Handler) LenLog() int {
+	return len(server.log)
+}
+
+//SendCommand is exported
+func (server *Handler) SendCommand(command string) bool {
+	io.WriteString(server.stdin, command+"\n")
+	return true
+}

+ 70 - 0
mod/server/server.go

@@ -0,0 +1,70 @@
+package server
+
+import (
+	"bufio"
+	"fmt"
+	"os/exec"
+	"strings"
+	"time"
+)
+
+//StartService is exported
+func (server *Handler) StartService() {
+	cmdName := server.JavaPath + " -Xmx" + server.maxRAM + " -Xms" + server.minRAM + " -jar " + server.ServerJar + " nogui " + server.args
+	fmt.Println(cmdName)
+	cmdArgs := strings.Fields(cmdName)
+
+	cmd := exec.Command(cmdArgs[0], cmdArgs[1:len(cmdArgs)]...)
+	cmd.Dir = "./server/"
+	server.stdout, _ = cmd.StdoutPipe()
+	server.stdin, _ = cmd.StdinPipe()
+	cmd.Start()
+
+	server.StartStdin()
+	server.StartStdout()
+	//cmd.Wait()
+}
+
+//StartStdout is exported
+func (server *Handler) StartStdout() {
+	i := 0
+	buf := bufio.NewReader(server.stdout)
+	go func() {
+		for {
+			line, _, _ := buf.ReadLine()
+			if string(line) != "" {
+				newLog := Log{
+					ID:        i,
+					Timestamp: time.Now(),
+					Log:       string(line),
+				}
+				server.log = append(server.log, newLog)
+				i++
+			}
+		}
+	}()
+}
+
+//StartStdin is exported deprecated
+func (server *Handler) StartStdin() {
+	/*
+		go func() {
+			for {
+				time.Sleep(1 * time.Second)
+				fmt.Println(server.command)
+				defer server.stdin.Close()
+				for i, line := range server.command {
+					//send command!
+					io.WriteString(server.stdin, line.command+"\n")
+
+					if len(server.command)-1 != i {
+						server.command = append(server.command[:i], server.command[i+1])
+					} else {
+						// if it is the last item, just remove it
+						server.command = server.command[:i]
+					}
+				}
+			}
+		}()
+	*/
+}

+ 10 - 0
mod/server/struct.go

@@ -0,0 +1,10 @@
+package server
+
+import "time"
+
+//Log is exported
+type Log struct {
+	ID        int
+	Timestamp time.Time
+	Log       string
+}

+ 1 - 1
server/banned-ips.json

@@ -1 +1 @@
-[{"ip":"127.0.0.1","created":"2020-12-13 14:08:44 -0800","source":"Alanyeung","expires":"forever","reason":"fuck you"},{"ip":"111.11.11.11","created":"2020-12-13","source":"Srv","expires":"forever","reason":"LLM"}]
+[]

+ 1 - 1
server/banned-players.json

@@ -1 +1 @@
-[{"uuid":"3d1c0ed1-d4d0-42ae-ac5e-a7557d5a6c4f","name":"Alanyeung","level":4,"bypassesPlayerLimit":false},{"uuid":"ffff","name":"Hyper","level":3,"bypassesPlayerLimit":true}]
+[]

+ 1 - 1
server/eula.txt

@@ -1,2 +1,2 @@
 #By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).
-eula=false
+eula=true

BIN
server/logs/2020-12-13-1.log.gz


BIN
server/logs/2020-12-13-2 2.log.gz


BIN
server/logs/2020-12-13-2 3.log.gz


BIN
server/logs/2020-12-13-2.log.gz


BIN
server/logs/2020-12-13-3.log.gz


BIN
server/logs/2020-12-13-4.log.gz


BIN
server/logs/2020-12-13-5.log.gz


BIN
server/logs/2020-12-13-6.log.gz


BIN
server/logs/2020-12-13-7.log.gz


+ 59 - 85
server/logs/latest.log

@@ -1,85 +1,59 @@
-[14:15:23] [main/INFO]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', servicesHost='https://api.minecraftservices.com', name='PROD'
-[14:15:24] [main/WARN]: Ambiguity between arguments [teleport, destination] and [teleport, targets] with inputs: [Player, 0123, @e, dd12be42-52a9-4a91-a8a1-11c01849e498]
-[14:15:24] [main/WARN]: Ambiguity between arguments [teleport, location] and [teleport, destination] with inputs: [0.1 -0.5 .9, 0 0 0]
-[14:15:24] [main/WARN]: Ambiguity between arguments [teleport, location] and [teleport, targets] with inputs: [0.1 -0.5 .9, 0 0 0]
-[14:15:24] [main/WARN]: Ambiguity between arguments [teleport, targets] and [teleport, destination] with inputs: [Player, 0123, dd12be42-52a9-4a91-a8a1-11c01849e498]
-[14:15:24] [main/WARN]: Ambiguity between arguments [teleport, targets, location] and [teleport, targets, destination] with inputs: [0.1 -0.5 .9, 0 0 0]
-[14:15:24] [main/INFO]: Reloading ResourceManager: Default
-[14:15:25] [Worker-Main-12/INFO]: Loaded 7 recipes
-[14:15:26] [Worker-Main-12/INFO]: Loaded 927 advancements
-[14:15:29] [Server thread/INFO]: Starting minecraft server version 1.16.4
-[14:15:29] [Server thread/INFO]: Loading properties
-[14:15:29] [Server thread/INFO]: Default game type: SURVIVAL
-[14:15:29] [Server thread/INFO]: Generating keypair
-[14:15:29] [Server console handler/ERROR]: Exception handling console input
-java.io.IOException: The handle is invalid
-	at java.io.FileInputStream.readBytes(Native Method) ~[?:?]
-	at java.io.FileInputStream.read(Unknown Source) ~[?:?]
-	at java.io.BufferedInputStream.read1(Unknown Source) ~[?:?]
-	at java.io.BufferedInputStream.read(Unknown Source) ~[?:?]
-	at sun.nio.cs.StreamDecoder.readBytes(Unknown Source) ~[?:?]
-	at sun.nio.cs.StreamDecoder.implRead(Unknown Source) ~[?:?]
-	at sun.nio.cs.StreamDecoder.read(Unknown Source) ~[?:?]
-	at java.io.InputStreamReader.read(Unknown Source) ~[?:?]
-	at java.io.BufferedReader.fill(Unknown Source) ~[?:?]
-	at java.io.BufferedReader.readLine(Unknown Source) ~[?:?]
-	at java.io.BufferedReader.readLine(Unknown Source) ~[?:?]
-	at zg$1.run(SourceFile:95) [server.jar:?]
-[14:15:29] [Server thread/INFO]: Starting Minecraft server on *:25565
-[14:15:29] [Server thread/INFO]: Using default channel type
-[14:15:31] [Server thread/INFO]: Preparing level "world"
-[14:15:31] [Server thread/INFO]: Preparing start region for dimension minecraft:overworld
-[14:15:34] [Server thread/INFO]: Preparing spawn area: 0%
-[14:15:34] [Server thread/INFO]: Preparing spawn area: 0%
-[14:15:34] [Server thread/INFO]: Preparing spawn area: 0%
-[14:15:34] [Server thread/INFO]: Preparing spawn area: 0%
-[14:15:34] [Server thread/INFO]: Preparing spawn area: 0%
-[14:15:34] [Server thread/INFO]: Preparing spawn area: 0%
-[14:15:34] [Server thread/INFO]: Preparing spawn area: 0%
-[14:15:35] [Server thread/WARN]: Trying to add entity with duplicated UUID b90d22d1-bf16-45e4-8725-009384e01036. Existing minecraft:chicken#126, new: minecraft:chicken#153
-[14:15:40] [Worker-Main-11/INFO]: Preparing spawn area: 95%
-[14:15:40] [Worker-Main-8/INFO]: Preparing spawn area: 95%
-[14:15:40] [Worker-Main-8/INFO]: Preparing spawn area: 95%
-[14:15:40] [Worker-Main-8/INFO]: Preparing spawn area: 95%
-[14:15:40] [Worker-Main-8/INFO]: Preparing spawn area: 95%
-[14:15:40] [Worker-Main-8/INFO]: Preparing spawn area: 95%
-[14:15:40] [Worker-Main-8/INFO]: Preparing spawn area: 95%
-[14:15:40] [Worker-Main-8/INFO]: Preparing spawn area: 95%
-[14:15:40] [Worker-Main-8/INFO]: Preparing spawn area: 95%
-[14:15:40] [Worker-Main-8/INFO]: Preparing spawn area: 95%
-[14:15:40] [Worker-Main-8/INFO]: Preparing spawn area: 95%
-[14:15:40] [Worker-Main-8/INFO]: Preparing spawn area: 95%
-[14:15:40] [Worker-Main-12/INFO]: Preparing spawn area: 95%
-[14:15:41] [Worker-Main-10/INFO]: Preparing spawn area: 95%
-[14:15:44] [Worker-Main-11/INFO]: Preparing spawn area: 95%
-[14:15:44] [Worker-Main-11/INFO]: Preparing spawn area: 95%
-[14:15:44] [Worker-Main-11/INFO]: Preparing spawn area: 95%
-[14:15:44] [Worker-Main-11/INFO]: Preparing spawn area: 95%
-[14:15:44] [Worker-Main-12/INFO]: Preparing spawn area: 95%
-[14:15:44] [Worker-Main-12/INFO]: Preparing spawn area: 95%
-[14:15:44] [Worker-Main-12/INFO]: Preparing spawn area: 95%
-[14:15:45] [Worker-Main-9/INFO]: Preparing spawn area: 95%
-[14:15:46] [Worker-Main-8/INFO]: Preparing spawn area: 95%
-[14:15:46] [Worker-Main-12/INFO]: Preparing spawn area: 95%
-[14:15:46] [Worker-Main-8/INFO]: Preparing spawn area: 95%
-[14:15:47] [Worker-Main-11/INFO]: Preparing spawn area: 95%
-[14:15:48] [Server thread/INFO]: Preparing spawn area: 96%
-[14:15:48] [Server thread/INFO]: Time elapsed: 17116 ms
-[14:15:48] [Server thread/INFO]: Done (17.425s)! For help, type "help"
-[14:15:53] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 2033ms or 40 ticks behind
-[14:15:59] [Server thread/INFO]: Incorrect argument for command
-[14:15:59] [Server thread/INFO]: whitelist alanyeung<--[HERE]
-[14:16:06] [Server thread/INFO]: Added Alanyeung to the whitelist
-[14:16:11] [Server thread/INFO]: Stopping the server
-[14:16:11] [Server thread/INFO]: Stopping server
-[14:16:11] [Server thread/INFO]: Saving players
-[14:16:11] [Server thread/INFO]: Saving worlds
-[14:16:11] [Server thread/INFO]: Saving chunks for level 'ServerLevel[world]'/minecraft:overworld
-[14:17:53] [Server thread/INFO]: ThreadedAnvilChunkStorage (world): All chunks are saved
-[14:17:53] [Server thread/INFO]: Saving chunks for level 'ServerLevel[world]'/minecraft:the_nether
-[14:17:53] [Server thread/INFO]: ThreadedAnvilChunkStorage (DIM-1): All chunks are saved
-[14:17:53] [Server thread/INFO]: Saving chunks for level 'ServerLevel[world]'/minecraft:the_end
-[14:17:53] [Server thread/INFO]: ThreadedAnvilChunkStorage (DIM1): All chunks are saved
-[14:17:53] [Server thread/INFO]: ThreadedAnvilChunkStorage (world): All chunks are saved
-[14:17:54] [Server thread/INFO]: ThreadedAnvilChunkStorage (DIM-1): All chunks are saved
-[14:17:54] [Server thread/INFO]: ThreadedAnvilChunkStorage (DIM1): All chunks are saved
+[23:52:19] [main/INFO]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', servicesHost='https://api.minecraftservices.com', name='PROD'
+[23:52:20] [main/WARN]: Ambiguity between arguments [teleport, destination] and [teleport, targets] with inputs: [Player, 0123, @e, dd12be42-52a9-4a91-a8a1-11c01849e498]
+[23:52:20] [main/WARN]: Ambiguity between arguments [teleport, location] and [teleport, destination] with inputs: [0.1 -0.5 .9, 0 0 0]
+[23:52:20] [main/WARN]: Ambiguity between arguments [teleport, location] and [teleport, targets] with inputs: [0.1 -0.5 .9, 0 0 0]
+[23:52:20] [main/WARN]: Ambiguity between arguments [teleport, targets] and [teleport, destination] with inputs: [Player, 0123, dd12be42-52a9-4a91-a8a1-11c01849e498]
+[23:52:20] [main/WARN]: Ambiguity between arguments [teleport, targets, location] and [teleport, targets, destination] with inputs: [0.1 -0.5 .9, 0 0 0]
+[23:52:20] [main/INFO]: Reloading ResourceManager: Default
+[23:52:22] [Worker-Main-14/INFO]: Loaded 7 recipes
+[23:52:22] [Worker-Main-14/INFO]: Loaded 927 advancements
+[23:52:25] [Server thread/INFO]: Starting minecraft server version 1.16.4
+[23:52:25] [Server thread/INFO]: Loading properties
+[23:52:25] [Server thread/INFO]: Default game type: CREATIVE
+[23:52:25] [Server thread/INFO]: Generating keypair
+[23:52:25] [Server thread/INFO]: Starting Minecraft server on *:25565
+[23:52:25] [Server thread/INFO]: Using default channel type
+[23:52:25] [Server thread/INFO]: Preparing level "world"
+[23:52:25] [Server thread/INFO]: Preparing start region for dimension minecraft:overworld
+[23:52:28] [Server thread/INFO]: Preparing spawn area: 0%
+[23:52:28] [Server thread/INFO]: Preparing spawn area: 0%
+[23:52:28] [Server thread/INFO]: Preparing spawn area: 0%
+[23:52:28] [Server thread/INFO]: Preparing spawn area: 0%
+[23:52:28] [Server thread/INFO]: Preparing spawn area: 0%
+[23:52:28] [Server thread/INFO]: Preparing spawn area: 0%
+[23:52:35] [Worker-Main-9/INFO]: Preparing spawn area: 83%
+[23:52:35] [Worker-Main-12/INFO]: Preparing spawn area: 83%
+[23:52:35] [Worker-Main-13/INFO]: Preparing spawn area: 83%
+[23:52:35] [Worker-Main-13/INFO]: Preparing spawn area: 83%
+[23:52:35] [Worker-Main-8/INFO]: Preparing spawn area: 83%
+[23:52:35] [Worker-Main-10/INFO]: Preparing spawn area: 83%
+[23:52:35] [Worker-Main-10/INFO]: Preparing spawn area: 83%
+[23:52:35] [Worker-Main-12/INFO]: Preparing spawn area: 83%
+[23:52:35] [Worker-Main-10/INFO]: Preparing spawn area: 83%
+[23:52:35] [Worker-Main-13/INFO]: Preparing spawn area: 83%
+[23:52:35] [Worker-Main-8/INFO]: Preparing spawn area: 83%
+[23:52:35] [Worker-Main-12/INFO]: Preparing spawn area: 83%
+[23:52:35] [Worker-Main-12/INFO]: Preparing spawn area: 83%
+[23:52:35] [Worker-Main-13/INFO]: Preparing spawn area: 99%
+[23:52:35] [Server thread/INFO]: Preparing spawn area: 99%
+[23:52:39] [User Authenticator #1/INFO]: UUID of player Alanyeung is 3d1c0ed1-d4d0-42ae-ac5e-a7557d5a6c4f
+[23:52:39] [Server thread/INFO]: Time elapsed: 14115 ms
+[23:52:39] [Server thread/INFO]: Done (14.300s)! For help, type "help"
+[23:52:40] [Server thread/INFO]: Alanyeung[/127.0.0.1:50361] logged in with entity id 220 at (-22.809103263146007, 71.7531999805212, -117.32866211012016)
+[23:52:40] [Server thread/INFO]: Alanyeung joined the game
+[23:52:42] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 2014ms or 40 ticks behind
+[23:52:53] [Server thread/INFO]: Stopping the server
+[23:52:53] [Server thread/INFO]: Stopping server
+[23:52:53] [Server thread/INFO]: Saving players
+[23:52:53] [Server thread/INFO]: Alanyeung lost connection: Internal Exception: java.lang.StackOverflowError
+[23:52:53] [Server thread/INFO]: Alanyeung left the game
+[23:52:53] [Server thread/INFO]: Saving worlds
+[23:52:53] [Server thread/INFO]: Saving chunks for level 'ServerLevel[world]'/minecraft:overworld
+[23:52:55] [Server thread/INFO]: ThreadedAnvilChunkStorage (world): All chunks are saved
+[23:52:55] [Server thread/INFO]: Saving chunks for level 'ServerLevel[world]'/minecraft:the_nether
+[23:52:55] [Server thread/INFO]: ThreadedAnvilChunkStorage (DIM-1): All chunks are saved
+[23:52:55] [Server thread/INFO]: Saving chunks for level 'ServerLevel[world]'/minecraft:the_end
+[23:52:55] [Server thread/INFO]: ThreadedAnvilChunkStorage (DIM1): All chunks are saved
+[23:52:55] [Server thread/INFO]: ThreadedAnvilChunkStorage (world): All chunks are saved
+[23:52:55] [Server thread/INFO]: ThreadedAnvilChunkStorage (DIM-1): All chunks are saved
+[23:52:55] [Server thread/INFO]: ThreadedAnvilChunkStorage (DIM1): All chunks are saved

+ 8 - 1
server/ops.json

@@ -1 +1,8 @@
-[{"uuid":"3d1c0ed1-d4d0-42ae-ac5e-a7557d5a6c4f","name":"Alanyeung","level":4,"bypassesPlayerLimit":false},{"uuid":"ffff","name":"Hyper","level":3,"bypassesPlayerLimit":true}]
+[
+  {
+    "uuid": "3d1c0ed1-d4d0-42ae-ac5e-a7557d5a6c4f",
+    "name": "Alanyeung",
+    "level": 4,
+    "bypassesPlayerLimit": false
+  }
+]

+ 50 - 48
server/server.properties

@@ -1,50 +1,52 @@
-#Minecraft server properties#Minecraft server propertiesenable-jmx-monitoring=false
-rcon.port=25575
-level-seed=
+#Minecraft server properties
+#Sun Dec 13 23:52:19 PST 2020
+enable-jmx-monitoring=false
+rcon.port=25575
+level-seed=
 gamemode=creative
-enable-command-block=false
-enable-query=false
-generator-settings=
-level-name=world
-motd=A Minecraft Server
-query.port=25565
-pvp=true
-generate-structures=true
-difficulty=easy
-network-compression-threshold=256
-max-tick-time=60000
-use-native-transport=true
+enable-command-block=false
+enable-query=false
+generator-settings=
+level-name=world
+motd=A Minecraft Server
+query.port=25565
+pvp=true
+generate-structures=true
+difficulty=easy
+network-compression-threshold=256
+max-tick-time=60000
+use-native-transport=true
 max-players=99
-online-mode=true
-enable-status=true
-allow-flight=false
-broadcast-rcon-to-ops=true
-view-distance=10
-max-build-height=256
-server-ip=
-allow-nether=true
-server-port=25565
-enable-rcon=false
-sync-chunk-writes=true
-op-permission-level=4
-prevent-proxy-connections=false
-resource-pack=
-entity-broadcast-range-percentage=100
-rcon.password=
-player-idle-timeout=0
-force-gamemode=false
-rate-limit=0
-hardcore=false
-white-list=false
-broadcast-console-to-ops=true
-spawn-npcs=true
-spawn-animals=true
-snooper-enabled=true
-function-permission-level=2
-level-type=default
-text-filtering-config=
-spawn-monsters=true
-enforce-whitelist=false
-resource-pack-sha1=
-spawn-protection=16
-max-world-size=29999984
+online-mode=true
+enable-status=true
+allow-flight=false
+broadcast-rcon-to-ops=true
+view-distance=10
+max-build-height=256
+server-ip=
+allow-nether=true
+server-port=25565
+enable-rcon=false
+sync-chunk-writes=true
+op-permission-level=4
+prevent-proxy-connections=false
+resource-pack=
+entity-broadcast-range-percentage=100
+rcon.password=
+player-idle-timeout=0
+force-gamemode=false
+rate-limit=0
+hardcore=false
+white-list=false
+broadcast-console-to-ops=true
+spawn-npcs=true
+spawn-animals=true
+snooper-enabled=true
+function-permission-level=2
+level-type=default
+text-filtering-config=
+spawn-monsters=true
+enforce-whitelist=false
+resource-pack-sha1=
+spawn-protection=16
+max-world-size=29999984

+ 1 - 1
server/usercache.json

@@ -1 +1 @@
-[{"name":"Alanyeung","uuid":"3d1c0ed1-d4d0-42ae-ac5e-a7557d5a6c4f","expiresOn":"2021-01-13 14:08:22 -0800"}]
+[{"name":"Alanyeung","uuid":"3d1c0ed1-d4d0-42ae-ac5e-a7557d5a6c4f","expiresOn":"2021-01-13 23:52:40 -0800"}]

BIN
server/world/DIM-1/data/raids.dat


BIN
server/world/DIM1/data/raids_end.dat


+ 16 - 1
server/world/advancements/3d1c0ed1-d4d0-42ae-ac5e-a7557d5a6c4f.json

@@ -29,6 +29,12 @@
     },
     "done": true
   },
+  "minecraft:recipes/redstone/tnt": {
+    "criteria": {
+      "has_gunpowder": "2020-12-13 23:07:46 -0800"
+    },
+    "done": true
+  },
   "minecraft:recipes/tools/wooden_axe": {
     "criteria": {
       "has_stick": "2020-12-13 13:09:33 -0800"
@@ -53,6 +59,12 @@
     },
     "done": true
   },
+  "minecraft:end/elytra": {
+    "criteria": {
+      "elytra": "2020-12-13 23:30:24 -0800"
+    },
+    "done": true
+  },
   "minecraft:recipes/building_blocks/oak_wood": {
     "criteria": {
       "has_log": "2020-12-13 13:09:37 -0800"
@@ -116,7 +128,10 @@
   "minecraft:adventure/adventuring_time": {
     "criteria": {
       "minecraft:forest": "2020-12-13 01:08:54 -0800",
-      "minecraft:river": "2020-12-13 12:44:02 -0800"
+      "minecraft:mountains": "2020-12-13 23:30:35 -0800",
+      "minecraft:taiga": "2020-12-13 23:29:25 -0800",
+      "minecraft:river": "2020-12-13 12:44:02 -0800",
+      "minecraft:wooded_hills": "2020-12-13 23:30:54 -0800"
     },
     "done": false
   },

BIN
server/world/data/raids.dat


BIN
server/world/level.dat


BIN
server/world/level.dat_old


BIN
server/world/playerdata/3d1c0ed1-d4d0-42ae-ac5e-a7557d5a6c4f.dat


BIN
server/world/playerdata/3d1c0ed1-d4d0-42ae-ac5e-a7557d5a6c4f.dat_old


BIN
server/world/poi/r.-1.-1.mca


BIN
server/world/poi/r.-2.-1.mca


BIN
server/world/poi/r.0.-1.mca


BIN
server/world/region/r.-1.-1.mca


BIN
server/world/region/r.-1.-2.mca


BIN
server/world/region/r.-1.0.mca


BIN
server/world/region/r.-2.-1.mca


BIN
server/world/region/r.-2.-2.mca


BIN
server/world/region/r.-2.0.mca


BIN
server/world/region/r.0.-1.mca


BIN
server/world/region/r.0.-2.mca


BIN
server/world/region/r.0.0.mca


+ 1 - 1
server/world/stats/3d1c0ed1-d4d0-42ae-ac5e-a7557d5a6c4f.json

@@ -1 +1 @@
-{"stats":{"minecraft:killed_by":{"minecraft:creeper":1,"minecraft:wolf":1},"minecraft:custom":{"minecraft:time_since_rest":2944,"minecraft:play_one_minute":6642,"minecraft:deaths":2,"minecraft:sprint_one_cm":8275,"minecraft:damage_taken":655,"minecraft:walk_one_cm":7391,"minecraft:jump":49,"minecraft:damage_dealt":38,"minecraft:leave_game":9,"minecraft:time_since_death":2890,"minecraft:fall_one_cm":2496,"minecraft:fly_one_cm":6029},"minecraft:used":{"minecraft:creeper_spawn_egg":10,"minecraft:oak_sapling":2},"minecraft:picked_up":{"minecraft:stick":2,"minecraft:apple":1,"minecraft:oak_log":6,"minecraft:oak_sapling":2,"minecraft:dirt":40},"minecraft:mined":{"minecraft:grass":1,"minecraft:oak_log":6,"minecraft:oak_sapling":1,"minecraft:birch_leaves":1,"minecraft:oak_leaves":13}},"DataVersion":2584}
+{"stats":{"minecraft:used":{"minecraft:creeper_spawn_egg":23,"minecraft:oak_log":94,"minecraft:oak_sapling":2},"minecraft:killed_by":{"minecraft:creeper":2,"minecraft:wolf":2},"minecraft:custom":{"minecraft:time_since_rest":2019,"minecraft:play_one_minute":15384,"minecraft:damage_taken":1525,"minecraft:sprint_one_cm":13199,"minecraft:deaths":6,"minecraft:walk_one_cm":28057,"minecraft:sneak_time":54,"minecraft:walk_under_water_one_cm":384,"minecraft:aviate_one_cm":131205,"minecraft:jump":128,"minecraft:damage_dealt":48,"minecraft:leave_game":11,"minecraft:time_since_death":1985,"minecraft:walk_on_water_one_cm":885,"minecraft:fall_one_cm":7109,"minecraft:fly_one_cm":15277},"minecraft:picked_up":{"minecraft:stick":2,"minecraft:apple":1,"minecraft:creeper_spawn_egg":64,"minecraft:oak_log":23,"minecraft:gunpowder":7,"minecraft:oak_sapling":9,"minecraft:dirt":110},"minecraft:mined":{"minecraft:grass":1,"minecraft:grass_block":1,"minecraft:oak_log":20,"minecraft:oak_sapling":1,"minecraft:birch_leaves":2,"minecraft:oak_leaves":37}},"DataVersion":2584}

+ 60 - 0
testing.txt

@@ -0,0 +1,60 @@
+	mcs := config.NewHandler("./server/")
+	/*
+		p := mcs.ReadAllProperties()
+		fmt.Println(p)
+		mcs.ChangeProperties("gamemode", "creative")
+		mcs.SaveProperties()
+	*/
+	/*
+		q := mcs.ReadAllBannedIPs()
+		fmt.Println(q)
+		mcs.WriteBannedIP("111.11.11.11", "2020-12-13", "Srv", "forever", "LLM")
+		q = mcs.ReadBannedIP("LLM", "reason")
+		fmt.Println(q)
+		mcs.RemoveBannedIP("dllmeaa", "reason")
+		q = mcs.ReadAllBannedIPs()
+		fmt.Println(q)
+		mcs.SaveAllBannedIPs()
+	*/
+	/*
+		r := mcs.ReadAllBannedPlayers()
+		fmt.Println(r)
+		mcs.WriteBannedPlayer("1234", "HyperXraft", "2020-12-12", "Serrver", "forever", "FUCK")
+		fmt.Println(mcs.ReadBannedPlayer("HyperXraft", "name"))
+		r = mcs.ReadAllBannedPlayers()
+		fmt.Println(r)
+		mcs.RemoveBannedPlayer("HyperXraft", "name")
+		r = mcs.ReadAllBannedPlayers()
+		fmt.Println(r)
+		mcs.SaveAllBannedPlayers()
+	*/
+	/*
+		s := mcs.ReadAllOps()
+		fmt.Println(s)
+		mcs.WriteOps("ffff", "Hyper", 3, true)
+		s = mcs.ReadAllOps()
+		fmt.Println(s)
+		fmt.Println(mcs.ReadOps("Hyper", "name"))
+		mcs.RemoveOps("TC", "name")
+		s = mcs.ReadAllOps()
+		fmt.Println(s)
+		mcs.SaveAllOps()
+	*/
+	/*
+		t := mcs.ReadAllWhitelists()
+		fmt.Println(t)
+		mcs.WriteWhitelist("1234", "TC")
+		t = mcs.ReadAllWhitelists()
+		fmt.Println(t)
+		fmt.Println(mcs.ReadWhitelist("TC", "name"))
+		mcs.RemoveWhitelist("Alanyeung", "name")
+		mcs.SaveAllWhitelists()
+	*/
+	/*
+		u := mcs.ReadEULA()
+		fmt.Println(u)
+		mcs.WriteEULA(false)
+		u = mcs.ReadEULA()
+		fmt.Println(u)
+		mcs.SaveEULA()
+	*/