Skip to content

Commit edf5da4

Browse files
authored
Merge branch 'master' into feat/26.1
2 parents a51f5b4 + dfd9733 commit edf5da4

501 files changed

Lines changed: 5820 additions & 244 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.scripts/utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"1.18.*": ["1.18.1", "1.18.2", "1.18"],
2020
"1.19.*": ["1.19", "1.19.2", "1.19.3", "1.19.4"],
2121
"1.20.*": ["1.20", "1.20.1", "1.20.2", "1.20.3", "1.20.4", "1.20.5", "1.20.6"],
22-
"1.21.*": ["1.21", "1.21.1", "1.21.2", "1.21.3", "1.21.4", "1.21.5", "1.21.6", "1.21.7", "1.21.8", "1.21.9", "1.21.10"],
22+
"1.21.*": ["1.21", "1.21.1", "1.21.2", "1.21.3", "1.21.4", "1.21.5", "1.21.6", "1.21.7", "1.21.8", "1.21.9", "1.21.10", "1.21.11"],
2323
"26.*": ["26.1"]
2424
}
2525

.scripts/validate.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,16 @@
3636
"docs",
3737
]
3838

39+
HOSTING_DOMAIN_BLACKLIST = [
40+
# https://apexminecrafthosting.com/
41+
"mc.gg",
42+
"apexmc.co",
43+
# https://lilypad.gg/
44+
"smp.fan",
45+
"modpack.lol",
46+
"minecraft.vodka",
47+
"minecraft.horse"
48+
]
3949

4050

4151

@@ -218,6 +228,7 @@ def check_metadata(args: argparse.Namespace) -> defaultdict[str, list[str]]:
218228
messages[server_id] = [f"{server_id} is being edited but is in the inactive file!"]
219229

220230
# Looping over each server folder
231+
seen_domains = defaultdict(set)
221232
for root, _, _ in os.walk(args.servers_dir):
222233
server_id = root.split(os.path.sep)[-1]
223234
if (
@@ -241,6 +252,8 @@ def check_metadata(args: argparse.Namespace) -> defaultdict[str, list[str]]:
241252
primary_domain = get_tld(server.get("primaryAddress", ""), as_object=True, fail_silently=True, fix_protocol=True)
242253
if primary_domain is not None and primary_domain.fld not in server["addresses"]:
243254
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.")
255+
elif primary_domain is None:
256+
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).")
244257

245258

246259
all_versions = get_all_versions(server["minecraftVersions"])
@@ -254,8 +267,19 @@ def check_metadata(args: argparse.Namespace) -> defaultdict[str, list[str]]:
254267
continue
255268

256269
domain = get_tld(address, as_object=True, fail_silently=True, fix_protocol=True)
270+
271+
if domain is not None and domain.fld in HOSTING_DOMAIN_BLACKLIST:
272+
messages[server_id].append(f"The domain {domain.fld} belongs to a hosting provider. You must use a custom domain that you fully own (e.g. myserver.com instead of myserver.hosting.com). Please review the [documentation](https://lunarclient.dev/server-mappings/adding-servers/metadata#addresses).")
273+
257274
if domain is not None and domain.subdomain:
258275
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.")
276+
277+
if domain is not None and domain.fld in seen_domains:
278+
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).")
279+
elif domain is not None:
280+
seen_domains[domain.fld].add(server_id)
281+
else:
282+
messages[server_id].append(f"`{address}` is not a valid domain. Please review the [documentation](https://lunarclient.dev/server-mappings/adding-servers/metadata).")
259283

260284
if primary_region := server.get("primaryRegion"):
261285
if not (regions := server.get("regions")) or primary_region not in regions:

docs/adding-servers/metadata.mdx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import { Callout } from "nextra/components";
2+
13
# Server Metadata
24

35
Each server must have a `metadata.json`, this file should follow the schema found in the root of this repository `metadata.schema.json`.
@@ -30,6 +32,11 @@ The `addresses` array in each server object is actually an array of IP suffixes.
3032

3133
The `primaryAddress` in each server object is for users to connect to your server on and is required to be resolvable. This primary address will be used to ensure that the server remains online and active. **This can (and should) include the subdomain for the server**.
3234

35+
<Callout type="warning" emoji="⚠️">
36+
Make sure that you own the root domain you want to submit. We do not support domains provided by hosting services (e.g. `myserver.host.com`). You must purchase and configure your own custom domain (e.g. `myserver.com`).
37+
</Callout>
38+
39+
3340
### Game Types
3441

3542
Game types help identify the style of games that your server will offer to player. The following are games you may include: `PvP`, `PvE`, `HCF`, `Factions`, `Minigames`, `Skyblock`, `Parkour`, `UHC`, `Hardcore`, `Survival`, `Open World`, `Prison`, `Creative`, `Roleplay`, `Adventure`, and `Pixelmon`.

inactive.json

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
"cometmc",
4646
"corepvp",
4747
"craftoriya",
48+
"crimsonsmp",
4849
"crystal",
4950
"crobarus",
5051
"crove",
@@ -156,7 +157,6 @@
156157
"vestpvp",
157158
"vibria",
158159
"vicnix",
159-
"voltagenetwork",
160160
"vulcanmc",
161161
"whitepvp",
162162
"witchythings",
@@ -170,7 +170,6 @@
170170
"exaltedmc",
171171
"fademc",
172172
"firecraft",
173-
"floramc",
174173
"frozedclub",
175174
"fruitscraft",
176175
"hcfrevival",
@@ -203,6 +202,7 @@
203202
"mysticlands",
204203
"mythicnetwork",
205204
"nasgar",
205+
"naturemc",
206206
"navybridge",
207207
"neptunemc",
208208
"nexopvp",
@@ -261,10 +261,12 @@
261261
"plasma",
262262
"evamc",
263263
"voidmc",
264+
"voidpixel",
264265
"mushroomnet",
265266
"zeromc",
266267
"asrbw",
267268
"nesiummc",
268269
"xeroxnetwork",
269-
"akaris"
270+
"akaris",
271+
"visualpvp"
270272
]

metadata.schema.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,6 @@
219219
"type": "string",
220220
"pattern": "^(?!.*https?://)(?!.*@).+$"
221221
},
222-
223222
"MinecraftVersion": {
224223
"type": "string",
225224
"enum": [
@@ -262,6 +261,7 @@
262261
"1.21.8",
263262
"1.21.9",
264263
"1.21.10",
264+
"1.21.11",
265265
"26.1"
266266
]
267267
},
@@ -297,6 +297,7 @@
297297
"1.21.8",
298298
"1.21.9",
299299
"1.21.10",
300+
"1.21.11",
300301
"26.1"
301302
]
302303
},
@@ -376,4 +377,4 @@
376377
}
377378
}
378379
}
379-
}
380+
}

servers/acapsmp/metadata.json

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
{
22
"id": "acapsmp",
33
"name": "MongolVibes",
4-
"website": "https://www.mnvibes.fun",
5-
"store": "https://mnvibes.fun/store",
4+
"website": "https://www.mnvibes.org",
5+
"store": "https://mnvibes.org/#store",
66
"description": "MongolVibes is a chill Minecraft server for Mongolian gamers.",
77
"addresses": [
8-
"mnvibes.fun",
8+
"mnvibes.org",
99
"mnvibes.mn",
1010
"mongolvibes.net"
1111
],
12-
"primaryAddress": "mnvibes.fun",
12+
"primaryAddress": "mnvibes.org",
1313
"primaryColor": "#050053",
1414
"secondaryColor": "#00f5ff",
1515
"minecraftVersions": [
1616
"1.21.*"
1717
],
18-
"primaryMinecraftVersion": "1.21.5",
18+
"primaryMinecraftVersion": "1.21.8",
1919
"crossplay": true,
2020
"primaryRegion": "AS",
2121
"regions": [
@@ -35,9 +35,9 @@
3535
"discord": "https://discord.com/invite/XKFtYsN7YF"
3636
},
3737
"compliance": {
38-
"privacyPolicy": "https://www.mnvibes.fun/privacy",
39-
"termsOfService": "https://www.mnvibes.fun/terms",
40-
"rules": "https://www.mnvibes.fun/rules"
38+
"privacyPolicy": "https://www.mnvibes.org/#privacy",
39+
"termsOfService": "https://www.mnvibes.org/#terms",
40+
"rules": "https://www.mnvibes.org/#rules"
4141
},
4242
"presentationVideo": "M_AQ9zDow8c"
43-
}
43+
}

servers/akyto/metadata.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
"addresses": [
66
"akyto.club",
77
"akyto.net",
8-
"potted.gg",
98
"groupezk.fr",
109
"pvptemple.it"
1110
],

servers/aripvp/background.png

1.34 MB
Loading

servers/aripvp/logo.png

1.47 MB
Loading

servers/aripvp/metadata.json

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
{
2+
"id": "aripvp",
3+
"name": "AriPvP",
4+
"website": "https://www.aripvp.cc",
5+
"description": "AriPvP, a WarSimulation and Practice server!",
6+
"addresses": [
7+
"aripvp.cc"
8+
],
9+
"primaryAddress": "aripvp.cc",
10+
"primaryColor": "#daa520",
11+
"secondaryColor": "#FFFF55",
12+
"minecraftVersions": [
13+
"1.8.*"
14+
],
15+
"primaryMinecraftVersion": "1.8.9",
16+
"primaryRegion": "EU",
17+
"regions": [
18+
"EU"
19+
],
20+
"primaryLanguage": "nl",
21+
"languages": [
22+
"nl",
23+
"en"
24+
],
25+
"gameTypes": [
26+
"PvP"
27+
],
28+
"socials": {
29+
"discord": "https://discord.gg/uC9gN9sHYw"
30+
}
31+
}

0 commit comments

Comments
 (0)