From 4a4135c31ef77f7e21bb01400614a34d7f0ff539 Mon Sep 17 00:00:00 2001 From: bytedream <bytedream@protonmail.com> Date: Mon, 13 Nov 2023 11:42:24 +0100 Subject: [PATCH] rename cracked to noauth and remove the possibility to self register as such --- src/lib/server/database.ts | 6 +++--- src/lib/server/minecraft.test.ts | 6 +++--- src/lib/server/minecraft.ts | 2 +- src/routes/admin/users/+page.svelte | 2 +- src/routes/admin/users/+server.ts | 2 +- src/routes/admin/users/HeaderBar.svelte | 2 +- src/routes/register/+server.ts | 8 ++++---- src/routes/register/Register.svelte | 15 --------------- src/routes/report/+server.ts | 4 +++- 9 files changed, 17 insertions(+), 30 deletions(-) diff --git a/src/lib/server/database.ts b/src/lib/server/database.ts index 35982a8..3a427a8 100644 --- a/src/lib/server/database.ts +++ b/src/lib/server/database.ts @@ -27,8 +27,8 @@ export class User extends Model { declare telephone: string; @Column({ type: DataTypes.STRING, allowNull: false }) declare username: string; - @Column({ type: DataTypes.ENUM('java', 'bedrock', 'cracked'), allowNull: false }) - declare playertype: 'java' | 'bedrock' | 'cracked'; + @Column({ type: DataTypes.ENUM('java', 'bedrock', 'noauth'), allowNull: false }) + declare playertype: 'java' | 'bedrock' | 'noauth'; @Column({ type: DataTypes.STRING }) declare password: string; @Column({ type: DataTypes.UUIDV4 }) @@ -47,7 +47,7 @@ export class Report extends Model { declare body: string; @Column({ type: DataTypes.BOOLEAN, allowNull: false }) declare draft: boolean; - @Column({ type: DataTypes.ENUM('java', 'bedrock', 'cracked'), allowNull: false }) + @Column({ type: DataTypes.ENUM('java', 'bedrock', 'noauth'), allowNull: false }) declare status: 'none' | 'review' | 'reviewed'; @Column({ type: DataTypes.STRING }) declare notice: string; diff --git a/src/lib/server/minecraft.test.ts b/src/lib/server/minecraft.test.ts index c1dafec..42f1bf3 100644 --- a/src/lib/server/minecraft.test.ts +++ b/src/lib/server/minecraft.test.ts @@ -1,5 +1,5 @@ import { describe, expect, test } from 'vitest'; -import { getBedrockUuid, getCrackedUuid, getJavaUuid } from '$lib/server/minecraft'; +import { getBedrockUuid, getJavaUuid, getNoAuthUuid } from '$lib/server/minecraft'; describe('java username', () => { test('is valid', async () => { @@ -19,9 +19,9 @@ describe('bedrock username', () => { }); }); -describe('cracked username', () => { +describe('noauth username', () => { // every username can be converted to an uuid so every user id automatically valid test('is valid', () => { - expect(getCrackedUuid('bytedream')).toBe('88de3863-bf47-30f9-a7f4-ab6134feb49a'); + expect(getNoAuthUuid('bytedream')).toBe('88de3863-bf47-30f9-a7f4-ab6134feb49a'); }); }); diff --git a/src/lib/server/minecraft.ts b/src/lib/server/minecraft.ts index 4212995..139e23c 100644 --- a/src/lib/server/minecraft.ts +++ b/src/lib/server/minecraft.ts @@ -68,7 +68,7 @@ export async function getBedrockUuid(username: string): Promise<string> { } // https://gist.github.com/yushijinhun/69f68397c5bb5bee76e80d192295f6e0 -export function getCrackedUuid(username: string): string { +export function getNoAuthUuid(username: string): string { const data = createHash('md5').update(`OfflinePlayer:${username}`).digest('binary').split(''); data[6] = String.fromCharCode((data[6].charCodeAt(0) & 0x0f) | 0x30); data[8] = String.fromCharCode((data[8].charCodeAt(0) & 0x3f) | 0x80); diff --git a/src/routes/admin/users/+page.svelte b/src/routes/admin/users/+page.svelte index a90c17e..833fa1b 100644 --- a/src/routes/admin/users/+page.svelte +++ b/src/routes/admin/users/+page.svelte @@ -147,7 +147,7 @@ <Select id="edition" bind:value={user.playertype} disabled={!user.edit} size="sm"> <option value="java">Java Edition</option> <option value="bedrock">Bedrock Edition</option> - <option value="cracked">Java cracked</option> + <option value="noauth">Java noauth</option> </Select> </td> <td> diff --git a/src/routes/admin/users/+server.ts b/src/routes/admin/users/+server.ts index 52b7f77..863d354 100644 --- a/src/routes/admin/users/+server.ts +++ b/src/routes/admin/users/+server.ts @@ -16,7 +16,7 @@ export const POST = (async ({ request, cookies }) => { from: number | null; name: string | null; - playertype: 'java' | 'bedrock' | 'cracked' | null; + playertype: 'java' | 'bedrock' | 'noauth' | null; search: string | null; slim: boolean | null; diff --git a/src/routes/admin/users/HeaderBar.svelte b/src/routes/admin/users/HeaderBar.svelte index 533d790..7c5f27b 100644 --- a/src/routes/admin/users/HeaderBar.svelte +++ b/src/routes/admin/users/HeaderBar.svelte @@ -19,7 +19,7 @@ <option value={null}>Alle</option> <option value="java">Java</option> <option value="beckdrock">Bedrock</option> - <option value="cracked">Cracked</option> + <option value="noauth">Noauth</option> </Select> </div> </form> diff --git a/src/routes/register/+server.ts b/src/routes/register/+server.ts index f3836c5..4efd4ca 100644 --- a/src/routes/register/+server.ts +++ b/src/routes/register/+server.ts @@ -1,7 +1,7 @@ import { getBedrockUuid, - getCrackedUuid, getJavaUuid, + getNoAuthUuid, UserNotFoundError } from '$lib/server/minecraft'; import { error, type RequestHandler } from '@sveltejs/kit'; @@ -12,7 +12,7 @@ export const POST = (async ({ request }) => { let uuid: string; try { - // available playertypes are 'java', 'bedrock' and 'cracked' + // available playertypes are 'java', 'bedrock' and 'noauth' switch (data.get('playertype')) { case 'java': uuid = await getJavaUuid(data.get('username') as string); @@ -20,8 +20,8 @@ export const POST = (async ({ request }) => { case 'bedrock': uuid = await getBedrockUuid(data.get('username') as string); break; - case 'cracked': - uuid = getCrackedUuid(data.get('username') as string); + case 'noauth': + uuid = getNoAuthUuid(data.get('username') as string); break; default: throw new Error(`invalid player type (${data.get('playertype')})`); diff --git a/src/routes/register/Register.svelte b/src/routes/register/Register.svelte index 43fdb1e..7cea9b3 100644 --- a/src/routes/register/Register.svelte +++ b/src/routes/register/Register.svelte @@ -122,22 +122,7 @@ > <option value="java">Java Edition</option> <option value="bedrock">Bedrock Edition</option> - <option value="cracked">Java cracked</option> </Select> - {#if playertype === 'cracked'} - <div class="sm:col-span-2"> - <Input id="password" name="password" type="password" required={true}> - <span slot="label">Passwort</span> - <span slot="notice"> - Da Du cracked spielst, musst Du ein Passwort festlegen, mit welchem Du Dich auf dem - Server authentifizierst! Das Passwort wird im Klartext gespeichert und ist in deinen - Clientlogs sowie in Serverlogs für Admins sichtbar. Verwende daher ein neues Passwort, - welches Du nirgends sonst verwendest! Merke Dir das Passwort gut, ohne kannst Du Dich - nicht auf dem Server einloggen - </span> - </Input> - </div> - {/if} </div> <div class="divider" /> <div class="mx-2 grid gap-y-3 mb-6"> diff --git a/src/routes/report/+server.ts b/src/routes/report/+server.ts index 889952c..4b1a104 100644 --- a/src/routes/report/+server.ts +++ b/src/routes/report/+server.ts @@ -13,7 +13,9 @@ export const POST = (async ({ request, url }) => { if (data.reporter == null || data.reason == null) return new Response(null, { status: 400 }); const reporter = await User.findOne({ where: { uuid: data.reporter } }); - const reported = data.reported ? await User.findOne({ where: { uuid: data.reported } }) : undefined; + const reported = data.reported + ? await User.findOne({ where: { uuid: data.reported } }) + : undefined; if (reporter == null || reported === null) return new Response(null, { status: 400 });