A Typescript server emulator for Box Critters, a defunct virtual world.
1import { z } from 'zod';
2import parties from './constants/parties.json' with { type: 'json' };
3
4/*
5 LOGIN API
6*/
7export const login = z.object({
8 nickname: z.string().nonempty().max(25),
9 critterId: z.enum([
10 "hamster",
11 "beaver",
12 "lizard",
13 "raccoon",
14 "penguin",
15 "snail",
16 "snow_greeter",
17 "snowkeeper",
18 "snowgirl",
19 "snow_patrol",
20 "snowgrandma"
21 ]).default("hamster"),
22 partyId: z.enum(parties as [string, ...string[]]).default("default"),
23 persistent: z.boolean().default(false),
24 mods: z.array(z.enum(["roomExits"])).default([])
25}).strict(); // Strict to disallow extra keys