1
0

4 Commity b5a1124637 ... 5c71d78a36

Autor SHA1 Správa Dátum
  AY 5c71d78a36 upd 4 rokov pred
  AY 9255fdf989 upd 4 rokov pred
  AY ac6db8e3b2 Bug fix 4 rokov pred
  AY 6fc9c42532 Update 4 rokov pred

+ 25 - 10
mc_add.go

@@ -7,16 +7,19 @@ import (
 	"time"
 )
 
-//TODO: implement duplicate entry check.
-
 func AddBanIP(w http.ResponseWriter, r *http.Request) {
 	IP, _ := mv(r, "ip", false)
 	Created := currentTime()
 	Source := "ArOZ Minecraft Terminal"
 	Expires := "forever"
 	Reason, _ := mv(r, "reason", false)
-	Config.WriteBannedIP(IP, Created, Source, Expires, Reason)
-	sendTextResponse(w, "OK")
+	if !Config.CheckDuplicateBannedIPs(IP) {
+		Config.WriteBannedIP(IP, Created, Source, Expires, Reason)
+		sendTextResponse(w, "OK")
+	} else {
+		sendTextResponse(w, "Duplicate Record")
+	}
+
 }
 
 func AddBanPlayer(w http.ResponseWriter, r *http.Request) {
@@ -27,8 +30,12 @@ func AddBanPlayer(w http.ResponseWriter, r *http.Request) {
 	Expires := "forever"
 	Reason, _ := mv(r, "reason", false)
 	if IsValidUUID(UUID) {
-		Config.WriteBannedPlayer(UUID, Name, Created, Source, Expires, Reason)
-		sendTextResponse(w, "OK")
+		if !Config.CheckDuplicateBannedPlayers(UUID, Name) {
+			Config.WriteBannedPlayer(UUID, Name, Created, Source, Expires, Reason)
+			sendTextResponse(w, "OK")
+		} else {
+			sendTextResponse(w, "Duplicate Record")
+		}
 	} else {
 		sendTextResponse(w, "Incorrect UUID.")
 	}
@@ -43,8 +50,12 @@ func AddOps(w http.ResponseWriter, r *http.Request) {
 	BypassesPlayerLimit, _ := mv(r, "bypass", false)
 	BypassesPlayerLimitB, _ := strconv.ParseBool(BypassesPlayerLimit)
 	if IsValidUUID(UUID) {
-		Config.WriteOps(UUID, Name, LevelI, BypassesPlayerLimitB)
-		sendTextResponse(w, "OK")
+		if !Config.CheckDuplicateOps(UUID, Name) {
+			Config.WriteOps(UUID, Name, LevelI, BypassesPlayerLimitB)
+			sendTextResponse(w, "OK")
+		} else {
+			sendTextResponse(w, "Duplicate Record")
+		}
 	} else {
 		sendTextResponse(w, "Incorrect UUID.")
 	}
@@ -54,8 +65,12 @@ func AddWhitelist(w http.ResponseWriter, r *http.Request) {
 	UUID, _ := mv(r, "uuid", false)
 	Name, _ := mv(r, "name", false)
 	if IsValidUUID(UUID) {
-		Config.WriteWhitelist(UUID, Name)
-		sendTextResponse(w, "OK")
+		if !Config.CheckDuplicateWhitelists(UUID, Name) {
+			Config.WriteWhitelist(UUID, Name)
+			sendTextResponse(w, "OK")
+		} else {
+			sendTextResponse(w, "Duplicate Record")
+		}
 	} else {
 		sendTextResponse(w, "Incorrect UUID.")
 	}

+ 10 - 0
mod/config/banIP.go

@@ -108,3 +108,13 @@ func (mch *Handler) SaveAllBannedIPs() bool {
 	}
 	return true
 }
+
+//CheckDuplicateBannedIPs is exported function
+func (mch *Handler) CheckDuplicateBannedIPs(ip string) bool {
+	for _, item := range mch.bannedIPs {
+		if item.IP == ip {
+			return true
+		}
+	}
+	return false
+}

+ 13 - 0
mod/config/banPlayer.go

@@ -115,3 +115,16 @@ func (mch *Handler) SaveAllBannedPlayers() bool {
 	}
 	return true
 }
+
+//CheckDuplicateBannedPlayers is exported function
+func (mch *Handler) CheckDuplicateBannedPlayers(uuid string, name string) bool {
+	for _, item := range mch.bannedPlayers {
+		if item.UUID == uuid {
+			return true
+		}
+		if item.Name == name {
+			return true
+		}
+	}
+	return false
+}

+ 13 - 0
mod/config/ops.go

@@ -104,3 +104,16 @@ func (mch *Handler) SaveAllOps() bool {
 	}
 	return true
 }
+
+//CheckDuplicateOps is exported function
+func (mch *Handler) CheckDuplicateOps(uuid string, name string) bool {
+	for _, item := range mch.ops {
+		if item.UUID == uuid {
+			return true
+		}
+		if item.Name == name {
+			return true
+		}
+	}
+	return false
+}

+ 17 - 0
mod/config/whitelist.go

@@ -27,12 +27,14 @@ func (mch *Handler) ReadAllWhitelists() Whitelist {
 
 //WriteWhitelist is exported function
 func (mch *Handler) WriteWhitelist(UUID string, Name string) bool {
+	mch.ReadAllWhitelists()
 	newItem := Whitelist{}
 	newItem = append(newItem, struct {
 		UUID string `json:"uuid"`
 		Name string `json:"name"`
 	}{UUID, Name})
 	mch.whitelists = append(mch.whitelists, newItem...)
+	mch.SaveAllWhitelists()
 	return true
 }
 
@@ -58,6 +60,7 @@ func (mch *Handler) ReadWhitelist(search string, field string) Whitelist {
 
 //RemoveWhitelist is exported function
 func (mch *Handler) RemoveWhitelist(search string, field string) bool {
+	mch.ReadAllWhitelists()
 	for i, item := range mch.whitelists {
 		fieldValue := ""
 		switch strings.ToLower(field) {
@@ -77,6 +80,7 @@ func (mch *Handler) RemoveWhitelist(search string, field string) bool {
 			}
 		}
 	}
+	mch.SaveAllWhitelists()
 	return true
 }
 
@@ -89,3 +93,16 @@ func (mch *Handler) SaveAllWhitelists() bool {
 	}
 	return true
 }
+
+//CheckDuplicateWhitelists is exported function
+func (mch *Handler) CheckDuplicateWhitelists(uuid string, name string) bool {
+	for _, item := range mch.whitelists {
+		if item.UUID == uuid {
+			return true
+		}
+		if item.Name == name {
+			return true
+		}
+	}
+	return false
+}

+ 1 - 1
server/banned-ips.json

@@ -1 +1 @@
-[]
+[{"ip":"127.0.0.1","created":"2020-12-23 19:20:59 -0800","source":"ArOZ Minecraft Terminal","expires":"forever","reason":"no reason"}]

+ 1 - 1
server/banned-players.json

@@ -1 +1 @@
-[]
+[{"uuid":"3d1c0ed1-d4d0-42ae-ac5e-a7557d5a6c4f","name":"Alaneyung","created":"2020-12-23 19:21:49 -0800","source":"ArOZ Minecraft Terminal","expires":"forever","reason":"NO RESN"},{"uuid":"3d1c0ed1-d4d0-42ae-ac5e-a7557d5a6c4d","name":"Alaneyeung","created":"2020-12-23 19:22:05 -0800","source":"ArOZ Minecraft Terminal","expires":"forever","reason":"NO RESN"}]

+ 1 - 1
server/ops.json

@@ -1 +1 @@
-[{"uuid":"3d1c0ed1-d4d0-42ae-ac5e-a7557d5a6c4f","name":"ALAN","level":3,"bypassesPlayerLimit":true},{"uuid":"3d1c0ed1-d4d0-42ae-ac5e-a7557d5a6c4f","name":"ALAN","level":3,"bypassesPlayerLimit":true}]
+[]

+ 2 - 2
server/server.properties

@@ -1,5 +1,5 @@
 #Minecraft server properties
-#Tue Dec 22 23:57:51 PST 2020
+#Wed Dec 23 19:37:47 PST 2020
 enable-jmx-monitoring=false
 rcon.port=25575
 level-seed=
@@ -8,7 +8,7 @@ enable-command-block=true
 enable-query=false
 generator-settings=
 level-name=world
-motd=ArOZ Minecraft Server
+motd=ArOZ Minecraft Servers
 query.port=25565
 pvp=true
 generate-structures=true

BIN
server/skin/3d1c0ed1-d4d0-42ae-ac5e-a7557d5a6c4d.png


+ 1 - 1
server/whitelist.json

@@ -1 +1 @@
-[{"uuid":"1234","name":"TC"}]
+[{"uuid":"3d1c0ed1-d4d0-42ae-ac5e-a7557d5a6c4f","name":"Alanyeung"}]

+ 3 - 1
webroot/setting/banip.html

@@ -88,11 +88,13 @@
     function submit() {
         var ip = $("#ip").val();
         var reason = $("#reason").val();
+        $("#ip").val("");
+        $("#reason").val("");
         $.get("/ban-ip/add?ip=" + ip + "&reason=" + reason, function(data) {
             if (data == "OK") {
                 msgbox("Added");
             } else {
-                errmsg("Fail to add the item.");
+                errmsg(data);
             }
             updateInfo();
         });

+ 4 - 1
webroot/setting/banplayer.html

@@ -93,11 +93,14 @@
         var uuid = $("#uuid").val();
         var name = $("#name").val();
         var reason = $("#reason").val();
+        $("#uuid").val("");
+        $("#name").val("");
+        $("#reason").val("");
         $.get("/ban-player/add?uuid=" + uuid + "&name=" + name + "&reason=" + reason, function(data) {
             if (data == "OK") {
                 msgbox("Added");
             } else {
-                errmsg("Fail to add the item.");
+                errmsg(data);
             }
             updateInfo();
         });

+ 2 - 2
webroot/setting/eula.html

@@ -56,9 +56,9 @@
         var value = $("#eula").val();
         $.get("/eula/change?value=" + value, function(data) {
             if (data == "OK") {
-                msgbox("Added");
+                msgbox("Changed");
             } else {
-                errmsg("Fail to add the item.");
+                errmsg(data);
             }
             updateInfo();
         });

+ 5 - 1
webroot/setting/ops.html

@@ -95,11 +95,15 @@
         var name = $("#name").val();
         var level = $("#level").val();
         var bypass = $("#bypass").val();
+        $("#uuid").val("");
+        $("#name").val("");
+        $("#level").val("");
+        $("#bypass").val("");
         $.get("/ops/add?uuid=" + uuid + "&name=" + name + "&level=" + level + "&bypass=" + bypass, function(data) {
             if (data == "OK") {
                 msgbox("Added");
             } else {
-                errmsg("Fail to add the item.");
+                errmsg(data);
             }
             updateInfo();
         });

+ 4 - 2
webroot/setting/properties.html

@@ -60,9 +60,11 @@
             var value = $(item).val();
             $.get("/properties/change?key=" + key + "&value=" + value, function(data) {
                 if (data == "OK") {
-                    msgbox("Added");
+                    if (i == $("input").length - 1) {
+                        msgbox("Action completed.");
+                    }
                 } else {
-                    errmsg("Fail to add the item.");
+                    errmsg(item + ":" + data);
                 }
                 updateInfo();
             });

+ 3 - 1
webroot/setting/whitelist.html

@@ -88,11 +88,13 @@
     function submit() {
         var uuid = $("#uuid").val();
         var name = $("#name").val();
+        $("#uuid").val("");
+        $("#name").val("");
         $.get("/whitelist/add?uuid=" + uuid + "&name=" + name, function(data) {
             if (data == "OK") {
                 msgbox("Added");
             } else {
-                errmsg("Fail to add the item.");
+                errmsg(data);
             }
             updateInfo();
         });