diff --git a/.scripts/validate.py b/.scripts/validate.py index 071e86ea66..08da868aa9 100644 --- a/.scripts/validate.py +++ b/.scripts/validate.py @@ -218,6 +218,7 @@ def check_metadata(args: argparse.Namespace) -> defaultdict[str, list[str]]: messages[server_id] = [f"{server_id} is being edited but is in the inactive file!"] # Looping over each server folder + seen_domains = defaultdict(set) for root, _, _ in os.walk(args.servers_dir): server_id = root.split(os.path.sep)[-1] if ( @@ -241,6 +242,8 @@ def check_metadata(args: argparse.Namespace) -> defaultdict[str, list[str]]: primary_domain = get_tld(server.get("primaryAddress", ""), as_object=True, fail_silently=True, fix_protocol=True) if primary_domain is not None and primary_domain.fld not in server["addresses"]: messages[server_id].append(f"The primary address' domain ({primary_domain.fld}) is not in the addresses list. Or the primary address is not a valid domain.") + elif primary_domain is None: + messages[server_id].append(f"The primary address `{server.get('primaryAddress', '')}` is not a valid domain. Please review the [documentation](https://lunarclient.dev/server-mappings/adding-servers/metadata).") all_versions = get_all_versions(server["minecraftVersions"]) @@ -256,6 +259,13 @@ def check_metadata(args: argparse.Namespace) -> defaultdict[str, list[str]]: domain = get_tld(address, as_object=True, fail_silently=True, fix_protocol=True) if domain is not None and domain.subdomain: messages[server_id].append(f"{address} does not follow the [documentation](https://lunarclient.dev/server-mappings/adding-servers/metadata). Please make sure the address is a valid domain, and does not have a subdomain.") + + if domain is not None and domain.fld in seen_domains: + messages[server_id].append(f"The domain {domain.fld} is also present in {', '.join(map(lambda s: f"`{s}`", seen_domains[domain.fld]))}. Please ensure each server has a unique domain(s).") + elif domain is not None: + seen_domains[domain.fld].add(server_id) + else: + messages[server_id].append(f"`{address}` is not a valid domain. Please review the [documentation](https://lunarclient.dev/server-mappings/adding-servers/metadata).") if primary_region := server.get("primaryRegion"): if not (regions := server.get("regions")) or primary_region not in regions: diff --git a/inactive.json b/inactive.json index a09e0d3418..9afe78dede 100644 --- a/inactive.json +++ b/inactive.json @@ -45,6 +45,7 @@ "cometmc", "corepvp", "craftoriya", + "crimsonsmp", "crystal", "crobarus", "crove", @@ -201,6 +202,7 @@ "mysticlands", "mythicnetwork", "nasgar", + "naturemc", "navybridge", "neptunemc", "nexopvp", @@ -259,6 +261,7 @@ "plasma", "evamc", "voidmc", + "voidpixel", "mushroomnet", "zeromc", "asrbw", diff --git a/servers/akyto/metadata.json b/servers/akyto/metadata.json index b5a66f3f0e..41e0f641f7 100644 --- a/servers/akyto/metadata.json +++ b/servers/akyto/metadata.json @@ -5,7 +5,6 @@ "addresses": [ "akyto.club", "akyto.net", - "potted.gg", "groupezk.fr", "pvptemple.it" ], diff --git a/servers/beemc/metadata.json b/servers/beemc/metadata.json index ec7503ac96..b74814027d 100644 --- a/servers/beemc/metadata.json +++ b/servers/beemc/metadata.json @@ -4,8 +4,7 @@ "website": "https://beemc.pl/", "store": "https://sklep.beemc.pl/", "addresses": [ - "beemc.pl", - "193.41.226.236" + "beemc.pl" ], "primaryAddress": "mc.beemc.pl", "primaryColor": "#FFD700", diff --git a/servers/bte/metadata.json b/servers/bte/metadata.json index 0d1536ec07..05d2a7ccf8 100644 --- a/servers/bte/metadata.json +++ b/servers/bte/metadata.json @@ -15,9 +15,7 @@ "bteuk.net", "btefrance.fr", "bteoce.com", - "139.99.91.188", "btehkmu.net", - "142.202.222.202", "btemexca.net", "bteconosur.com", "bteromania.ro", diff --git a/servers/ember/metadata.json b/servers/ember/metadata.json index 103b72826f..88c48827cc 100644 --- a/servers/ember/metadata.json +++ b/servers/ember/metadata.json @@ -6,8 +6,7 @@ "emberpvp.es", "emberpvp.club", "pvpsurge.com", - "varant.es", - "exempvp.es" + "varant.es" ], "primaryAddress": "emberpvp.es", "primaryColor": "#f62c22", diff --git a/servers/eternitymcnet/metadata.json b/servers/eternitymcnet/metadata.json index db6795ad2d..b73093692b 100644 --- a/servers/eternitymcnet/metadata.json +++ b/servers/eternitymcnet/metadata.json @@ -4,8 +4,7 @@ "website": "https://eternitymc.net/", "store": "https://store.eternitymc.net/", "addresses": [ - "eternitymc.net", - "pvpmania.eu" + "eternitymc.net" ], "primaryAddress": "mc.eternitymc.net", "primaryColor": "#00aaaa", diff --git a/servers/exodiamc/metadata.json b/servers/exodiamc/metadata.json index 6f0e5f79b4..afe2c80fa7 100644 --- a/servers/exodiamc/metadata.json +++ b/servers/exodiamc/metadata.json @@ -5,7 +5,6 @@ "store": "https://tienda.exodiamc.net", "description": "A Spanish-speaking server that offers fair gameplay for everyone.", "addresses": [ - "gamesmadeinpola.com", "exodiamc.net" ], "primaryAddress": "exodiamc.net", diff --git a/servers/gapplemc/metadata.json b/servers/gapplemc/metadata.json index 4d8393bdb3..24298742ba 100644 --- a/servers/gapplemc/metadata.json +++ b/servers/gapplemc/metadata.json @@ -5,8 +5,6 @@ "store": "https://store.gapplemc.net", "description": "GappleMC is THE Hispanic server you're looking for.", "addresses": [ - "gegmc.net", - "gegcraft.org", "gapplemc.com" ], "primaryAddress": "gapplemc.com", diff --git a/servers/kaiya/metadata.json b/servers/kaiya/metadata.json index 1327ceae67..b6048b64d9 100644 --- a/servers/kaiya/metadata.json +++ b/servers/kaiya/metadata.json @@ -4,7 +4,6 @@ "website": "https://kaiya.rip/", "addresses": [ "kaiya.rip", - "rengo.us", "kuda.rip" ], "primaryAddress": "kaiya.rip", diff --git a/servers/liroyo/metadata.json b/servers/liroyo/metadata.json index cc6d378cbc..e960e6376f 100644 --- a/servers/liroyo/metadata.json +++ b/servers/liroyo/metadata.json @@ -3,7 +3,6 @@ "name": "Liroyo Network", "store": "https://store.liroyo.online/", "addresses": [ - "topstrix.net", "topstrix.com", "liroyo.online" ], diff --git a/servers/mazemc/metadata.json b/servers/mazemc/metadata.json index 05f15a4b00..7dec3a94e4 100644 --- a/servers/mazemc/metadata.json +++ b/servers/mazemc/metadata.json @@ -5,7 +5,6 @@ "store": "https://mazemc.es/store", "description": "PvP Network for players, by players.", "addresses": [ - "imanity.club", "mazemc.es" ], "primaryAddress": "mazemc.es", diff --git a/servers/minerel/metadata.json b/servers/minerel/metadata.json index 9abe7d1dbf..3181862e8c 100644 --- a/servers/minerel/metadata.json +++ b/servers/minerel/metadata.json @@ -3,7 +3,6 @@ "name": "Minerel", "store": "https://store.minerel.net/", "addresses": [ - "acepvp.fun", "minerel.net", "allayrival.net" ], diff --git a/servers/pixelhaven/metadata.json b/servers/pixelhaven/metadata.json index 4a0d01f18a..ccc0a991e1 100644 --- a/servers/pixelhaven/metadata.json +++ b/servers/pixelhaven/metadata.json @@ -4,8 +4,7 @@ "website": "https://pixelhaven.pro/", "store": "https://sklep.pixelhaven.pro/", "addresses": [ - "pixelhaven.pro", - "193.41.226.236" + "pixelhaven.pro" ], "primaryAddress": "mc.pixelhaven.pro", "primaryColor": "#00FF26", diff --git a/servers/potted/metadata.json b/servers/potted/metadata.json index c46e3d7dc8..81d1ba817d 100644 --- a/servers/potted/metadata.json +++ b/servers/potted/metadata.json @@ -3,8 +3,7 @@ "name": "Potted", "description": "A ranked server integrating Practice and HCFW", "addresses": [ - "potted.gg", - "pvptemple.it" + "potted.gg" ], "primaryAddress": "potted.gg", "primaryColor": "#ad0099", diff --git a/servers/rage/metadata.json b/servers/rage/metadata.json index b19b2114bc..bc03b43af0 100644 --- a/servers/rage/metadata.json +++ b/servers/rage/metadata.json @@ -3,8 +3,7 @@ "name": "Rage", "store": "https://store.rage.rip/", "addresses": [ - "rage.rip", - "ranked.rip" + "rage.rip" ], "primaryAddress": "rage.rip", "primaryColor": "#db213a", diff --git a/servers/ranked/metadata.json b/servers/ranked/metadata.json index c810b13efb..42f7803648 100644 --- a/servers/ranked/metadata.json +++ b/servers/ranked/metadata.json @@ -3,9 +3,7 @@ "name": "Ranked Games", "store": "https://store.ranked.rip/", "addresses": [ - "ranked.rip", - "horu.us", - "galanthusmc.net" + "ranked.rip" ], "primaryAddress": "ranked.rip", "primaryColor": "#f62c22", diff --git a/servers/scala/metadata.json b/servers/scala/metadata.json index 3595224eca..abf2fbed5d 100644 --- a/servers/scala/metadata.json +++ b/servers/scala/metadata.json @@ -5,7 +5,6 @@ "store": "https://store.scala.gg/", "addresses": [ "scala.gg", - "esta.land", "solara.gg", "pvptemple.com", "potpvp.com"