Compare commits
16 Commits
c2b0bcc54e
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 446e4bb839 | |||
|
7f41765acb
|
|||
| 0d810f9a7e | |||
| 5d384bc336 | |||
| f95cf6cbfa | |||
|
972b8da9e6
|
|||
| cb41356351 | |||
| 276dc56627 | |||
| 0edec9cdf0 | |||
| 4703fde5a3 | |||
| 954a8cc318 | |||
| 1229edbf51 | |||
| 00bce50a49 | |||
| 5a44f2160c | |||
| 9b65d5d730 | |||
| 8397aace8d |
@ -21,9 +21,6 @@
|
|||||||
import type { RouteDefinition } from "svelte-spa-router";
|
import type { RouteDefinition } from "svelte-spa-router";
|
||||||
import Router from "svelte-spa-router";
|
import Router from "svelte-spa-router";
|
||||||
import NavLinks from "@components/moderator/layout/NavLinks.svelte";
|
import NavLinks from "@components/moderator/layout/NavLinks.svelte";
|
||||||
import { Switch } from "@components/ui/switch";
|
|
||||||
import { Label } from "@components/ui/label";
|
|
||||||
import { navigate } from "astro:transitions/client";
|
|
||||||
import Players from "@components/moderator/pages/players/Players.svelte";
|
import Players from "@components/moderator/pages/players/Players.svelte";
|
||||||
import Events from "@components/moderator/pages/events/Events.svelte";
|
import Events from "@components/moderator/pages/events/Events.svelte";
|
||||||
import Dashboard from "@components/moderator/pages/dashboard/Dashboard.svelte";
|
import Dashboard from "@components/moderator/pages/dashboard/Dashboard.svelte";
|
||||||
@ -47,10 +44,6 @@
|
|||||||
<div class="flex h-16 items-center px-4">
|
<div class="flex h-16 items-center px-4">
|
||||||
<a href="/" class="text-sm font-bold transition-colors text-primary"> SteamWar </a>
|
<a href="/" class="text-sm font-bold transition-colors text-primary"> SteamWar </a>
|
||||||
<NavLinks />
|
<NavLinks />
|
||||||
<div class="ml-auto flex items-center space-x-4">
|
|
||||||
<Switch id="new-ui-switch" checked={true} onclick={() => navigate("/admin")} />
|
|
||||||
<Label for="new-ui-switch">New UI!</Label>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@ -258,12 +258,14 @@
|
|||||||
{group?.name ?? "Keine Gruppe"}
|
{group?.name ?? "Keine Gruppe"}
|
||||||
</TableCell>
|
</TableCell>
|
||||||
<TableCell class="text-right">
|
<TableCell class="text-right">
|
||||||
<Button variant="ghost" size="icon" onclick={() => openGroupEditDialog(group!)}>
|
{#if group}
|
||||||
<EditIcon />
|
<Button variant="ghost" size="icon" onclick={() => openGroupEditDialog(group!)}>
|
||||||
</Button>
|
<EditIcon />
|
||||||
<Button variant="ghost" size="icon" onclick={() => openGroupResultsDialog(group!)}>
|
</Button>
|
||||||
<GroupIcon />
|
<Button variant="ghost" size="icon" onclick={() => openGroupResultsDialog(group!)}>
|
||||||
</Button>
|
<GroupIcon />
|
||||||
|
</Button>
|
||||||
|
{/if}
|
||||||
<DropdownMenu>
|
<DropdownMenu>
|
||||||
<DropdownMenuTrigger>
|
<DropdownMenuTrigger>
|
||||||
<Button variant="ghost" size="icon">
|
<Button variant="ghost" size="icon">
|
||||||
|
|||||||
@ -26,8 +26,8 @@ export class EventModel {
|
|||||||
return v.map((fight) => {
|
return v.map((fight) => {
|
||||||
let f = JSON.parse(JSON.stringify(fight)) as EventFight;
|
let f = JSON.parse(JSON.stringify(fight)) as EventFight;
|
||||||
|
|
||||||
let blueTeamRelation = f.blueTeam.name;
|
let blueTeamRelation = "";
|
||||||
let redTeamRelation = f.redTeam.name;
|
let redTeamRelation = "";
|
||||||
|
|
||||||
let relations = rels.filter((relation) => relation.fight === f.id);
|
let relations = rels.filter((relation) => relation.fight === f.id);
|
||||||
|
|
||||||
@ -54,11 +54,11 @@ export class EventModel {
|
|||||||
...f,
|
...f,
|
||||||
blueTeam: {
|
blueTeam: {
|
||||||
...f.blueTeam,
|
...f.blueTeam,
|
||||||
nameWithRelation: `${f.blueTeam.name} (${blueTeamRelation})`,
|
nameWithRelation: blueTeamRelation ? `${f.blueTeam.name} (${blueTeamRelation})` : f.blueTeam.name,
|
||||||
},
|
},
|
||||||
redTeam: {
|
redTeam: {
|
||||||
...f.redTeam,
|
...f.redTeam,
|
||||||
nameWithRelation: `${f.redTeam.name} (${redTeamRelation})`,
|
nameWithRelation: redTeamRelation ? `${f.redTeam.name} (${redTeamRelation})` : f.redTeam.name,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|||||||
45
src/content/announcements/de/2025-halloween.md
Normal file
45
src/content/announcements/de/2025-halloween.md
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
---
|
||||||
|
title: WarShip Halloween Event 2025
|
||||||
|
key: 2025-halloween
|
||||||
|
description: Das WarShip Halloween Event 2025 für die Community
|
||||||
|
created: 2025-10-27T00:00:00.000Z
|
||||||
|
tags:
|
||||||
|
- event
|
||||||
|
- warship
|
||||||
|
---
|
||||||
|
|
||||||
|
Ahoi Community,
|
||||||
|
das diesjährige Halloween-Event nähert sich, die Tage werden langsam kürzer und die Nächte länger. Es geht auf dem Herbst zu und erinnert daran, dass das Jahr wieder halb vorbei ist. Dieses Mal im Spielmodus Warship. Das im Format 6 gegen 6 ausgetragen wird. Neben dem eigentlichen Turnier wird das Außendesign bewertet. Die Bewertung des Außendedigns wird zu 70% Das SW Builderteam übernehmen und 30% die Userbewertung. Die prozentuale Bewertung soll dazu dienen, dass große Teams Ihr eigenes Design nicht hoch puschen können.
|
||||||
|
|
||||||
|
Das Event findet am 08.11.2025 in der Version 1.21 mit dem aktuellen Regelwerk statt.
|
||||||
|
|
||||||
|
~~Anmelde + Einsendeschluss 03.11.2025~~
|
||||||
|
|
||||||
|
**Neue Fristen**:
|
||||||
|
|
||||||
|
Einsendeschluss: 06.11.2025 23:59 Uhr
|
||||||
|
Hotfixschluss: 07.11.2025 23:59 Uhr
|
||||||
|
Der Anmeldeschluss bleibt der 03.11.2025
|
||||||
|
|
||||||
|
zusätzlich wird es mit einem Designcontest begleitet.
|
||||||
|
|
||||||
|
Design Regel: Halloween
|
||||||
|
Arena: Lucifus
|
||||||
|
|
||||||
|
Design Bewertung
|
||||||
|
|
||||||
|
- Userbewertung (30%) wird über den Discord Community Server von SW organisiert. (Bilder vom Außendesign werden gepostet und per Abstimmung ausgelost)
|
||||||
|
- Builderbewertung (70%) läuft nach folgende Kriterien ab.
|
||||||
|
- Form des WS
|
||||||
|
- Farbgestaltung
|
||||||
|
- Muster
|
||||||
|
- Thematisierung: Thema Halloween / Grusel
|
||||||
|
|
||||||
|
Es wird also 3 Sieges- Plätze geben welch wie Folgt ermittelt wird.
|
||||||
|
|
||||||
|
- Gesamtsieger: Höchste Fight Platzierung und Design Platzierung im Durchschnitt
|
||||||
|
- Event- Sieger : Höchste Fight Platzierung
|
||||||
|
- Designsieger: Bestes Design
|
||||||
|
|
||||||
|
Das Warshipdesign vom Gesamtsieger wird bis zum nächsten Halloween in der Lobby ausgestellt. Wir freuen uns auf zahlreiche Anmeldungen und sind gespannt, welche Designs uns erwarten!
|
||||||
|
Das Serverteam
|
||||||
@ -70,26 +70,26 @@ Die fights werden auf 5 Minuten an den vorherigen vorgezogen.
|
|||||||
| 28.09.2025 | | Ergebnis |
|
| 28.09.2025 | | Ergebnis |
|
||||||
|------------|------------|:--------:|
|
|------------|------------|:--------:|
|
||||||
| 17:15 | FK vs Borg | Borg |
|
| 17:15 | FK vs Borg | Borg |
|
||||||
| 17:25 | FK vs Borg | / |
|
| 17:25 | FK vs Borg | Borg |
|
||||||
| | FK vs Borg | / |
|
| Entfällt | FK vs Borg | / |
|
||||||
|
|
||||||
### Spiel um Platz 2 und 1
|
### Spiel um Platz 2 und 1
|
||||||
|
|
||||||
| 28.09.2025 | | Ergebnis |
|
| 28.09.2025 | | Ergebnis |
|
||||||
|------------|------------------------|:--------:|
|
|------------|--------------|:--------:|
|
||||||
| | *W. Best of 3* vs Salo | / |
|
| 17:45 | Borg vs Salo | Salo |
|
||||||
| | ??? vs Salo | / |
|
| 18:00 | Borg vs Salo | Borg |
|
||||||
| | ??? vs Salo | / |
|
| 18:10 | Borg vs Salo | Borg |
|
||||||
| | ??? vs Salo | / |
|
| 18:20 | Borg vs Salo | Borg |
|
||||||
| | ??? vs Salo | / |
|
| entfällt | Borg vs Salo | / |
|
||||||
|
|
||||||
## Endplatzierung
|
## Endplatzierung
|
||||||
|
|
||||||
| Platz | Team |
|
| Platz | Team |
|
||||||
|-------|------|
|
|-------|------|
|
||||||
| 1. | ??? |
|
| 1. | Borg |
|
||||||
| 2. | ??? |
|
| 2. | Salo |
|
||||||
| 3. | ??? |
|
| 3. | FK |
|
||||||
| 4. | BF |
|
| 4. | BF |
|
||||||
| 5. | PL |
|
| 5. | PL |
|
||||||
| 6. | ED |
|
| 6. | ED |
|
||||||
|
|||||||
@ -13,7 +13,7 @@ SteamWar ist ein Minecraft Java Server.
|
|||||||
<Tabs>
|
<Tabs>
|
||||||
<TabItem label="Java Edition">
|
<TabItem label="Java Edition">
|
||||||
- IP: `steamwar.de`
|
- IP: `steamwar.de`
|
||||||
- Empholene Version: `1.21.6`
|
- Empfohlene Version: `1.21.6`
|
||||||
</TabItem>
|
</TabItem>
|
||||||
<TabItem label="Bedrock Edition">
|
<TabItem label="Bedrock Edition">
|
||||||
- IP: `steamwar.de`
|
- IP: `steamwar.de`
|
||||||
|
|||||||
@ -2,6 +2,7 @@
|
|||||||
"name": "AdvancedScripts",
|
"name": "AdvancedScripts",
|
||||||
"description": "Ein Fabric-Mod, der für den BauServer von SteamWar Hotkeys für das ScriptSystem hinzufügt. Hierzu werden die einzelnen Zeichen an den Server gesendet und vom Server verarbeitet.",
|
"description": "Ein Fabric-Mod, der für den BauServer von SteamWar Hotkeys für das ScriptSystem hinzufügt. Hierzu werden die einzelnen Zeichen an den Server gesendet und vom Server verarbeitet.",
|
||||||
"url": {
|
"url": {
|
||||||
|
"1.21.6": "https://git.steamwar.de/SteamWar/AdvancedScripts/releases/download/2.2.3/AdvancedScripts-2.2.3.jar",
|
||||||
"1.21.4": "https://git.steamwar.de/SteamWar/AdvancedScripts/releases/download/2.2.0/AdvancedScripts-2.2.0.jar",
|
"1.21.4": "https://git.steamwar.de/SteamWar/AdvancedScripts/releases/download/2.2.0/AdvancedScripts-2.2.0.jar",
|
||||||
"1.21.3": "https://git.steamwar.de/SteamWar/AdvancedScripts/releases/download/2.2.1/AdvancedScripts-2.2.1.jar",
|
"1.21.3": "https://git.steamwar.de/SteamWar/AdvancedScripts/releases/download/2.2.1/AdvancedScripts-2.2.1.jar",
|
||||||
"1.20.6": "https://git.steamwar.de/SteamWar/AdvancedScripts/releases/download/2.1.0/AdvancedScripts-2.1.0.jar",
|
"1.20.6": "https://git.steamwar.de/SteamWar/AdvancedScripts/releases/download/2.1.0/AdvancedScripts-2.1.0.jar",
|
||||||
|
|||||||
@ -62,7 +62,7 @@ Manuelle Kanonen dürfen vor dem Kampfgeschehen kein TNT beinhalten. Diese werde
|
|||||||
|
|
||||||
### Automatische Kanonen
|
### Automatische Kanonen
|
||||||
|
|
||||||
Automatische Kanonen sind Kanonen, welche vor dem Kampfgeschehen TNT beinhalten und ohne nachgeladen zu werden mehrere Schüsse abgeben können. Zu beachten ist, dass die Projektile aller Schüsse immer von dem/den exakt gleichen Punkt-/en aus abgeschossen werden müssen. Vor Fightbeginn dürfen automatische Kanonen vollständig leergeschossen werden. Automatische Kanonen müssen von der Kommandozentrale aus aktivierbar sein. Dies kann auch durch den Verbau des Autostarters innerhalb der Kommandozentrale erfolgen. Des weiteren muss eine Möglichkeit innerhalb der Kommandozentrale gegeben sein die automatische Kanone vollständig vor Fightbeginn leerschießen zu können.
|
Automatische Kanonen sind Kanonen, welche vor dem Kampfgeschehen TNT beinhalten und ohne nachgeladen zu werden mehrere Schüsse abgeben können. Zu beachten ist, dass die Projektile aller Schüsse immer von dem/den exakt gleichen Punkt-/en aus gezündet und abgeschossen werden müssen. Außerdem müssen alle Treibladungen am dem/den exakt gleichen Punkt-/en gezündet werden. Vor Fightbeginn dürfen automatische Kanonen vollständig leergeschossen werden. Automatische Kanonen müssen von der Kommandozentrale aus aktivierbar sein. Dies kann auch durch den Verbau des Autostarters innerhalb der Kommandozentrale erfolgen. Des weiteren muss eine Möglichkeit innerhalb der Kommandozentrale gegeben sein die automatische Kanone vollständig vor Fightbeginn leerschießen zu können.
|
||||||
|
|
||||||
Das wiederverwenden des Abschusswinkels einer Automatischen Kanone zählt immer als zweite Kanone. Auch das Nachladen der Automatischen Kanone zählt als zweite Kanone.
|
Das wiederverwenden des Abschusswinkels einer Automatischen Kanone zählt immer als zweite Kanone. Auch das Nachladen der Automatischen Kanone zählt als zweite Kanone.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user