PreFire: Unterschied zwischen den Versionen

Aus CKRAS Wiki

Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(32 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
__NOTOC__
{{#seo:
{{#seo:
|title=Practice CS2 Server - CKRAS WIKI
|title=Practice Training CS2 Server - CKRAS WIKI
|title_mode=append
|title_mode=append
|keywords=ckras, wiki, cs2, gameserver, help, guide, webinterface, prefire, prac, opensource, training, control, gslt, area, wiki, help
|keywords=ckras, wiki, cs2, gameserver, prefire, prac, opensource, training, workshop, counterstrikesharp
|description=PreFire Prac für CS2 Gameserver, hilft dir, verschiedene PreFire-Trainings auf competitive Maps durchzuführen, Spiele bei www.ckras.com
|description=PreFire Practice für CS2 Gameserver hilft dir, verschiedene Prefire-Trainings auf Competitive- oder Workshop-Maps durchzuführen.
|image=target.png
|image=Target.png
|image_alt=PreFire Prac für CS2 Gameserver - CKRAS.com
|image_alt=PreFire Practice Training für CS2 Gameserver - CKRAS.com
}}
}}
[[Datei:Target.png|links|20x20px|PREFIRE]]
PreFire Practice für [[CS2]] Gameserver ist das perfekte Tool, um Prefire auf competitive Maps zu trainieren. Mit PreFire Addon könnt ihr die Trainingsszenarien mit '''!prefire''' auf den aktuell verfügbaren Maps starten, wie im Chat-Menü ausgegeben.


''<small>Ein Open-Source CounterStrikeSharp-basiertes serverseitiges Practice-Plugin für CS2. Es bietet mehrere Prefire-Trainings auf competitive Maps und unterstützt Multiplayer-Übungen gleichzeitig.</small>''
<div class="ck-page">
 
<div class="ck-hero--dark">
{| style="background:transparent; border:none; width:100%;"
|-
| style="vertical-align:top; width:130px; padding-right:20px;" |
<div class="ck-hero-logo">[[Datei:Target.png|110px|alternativtext=PreFire Practice|link=PreFire]]</div>
| style="vertical-align:top;" |
<div class="ck-hero-content">
<h1 class="ck-hero-title">PreFire Practice</h1>
<div class="ck-hero-sub">Trainiere Prefire-Routen auf Competitive- und Workshop-Maps direkt auf deinem CKRAS CS2 Server.</div>
<div class="ck-hero-meta"><b>Quick Start:</b> Tippe <code>!prefire</code> im Spiel, um das Training zu starten.</div>
<div class="ck-hero-actions">
[https://iface.ckras.com <span class="ck-btn ck-btn-primary">▶ Start on CKRAS</span>]
[https://www.ckras.com/ <span class="ck-btn ck-btn-ghost">CKRAS Website</span>]
[https://play.ckras.com <span class="ck-btn ck-btn-ghost">Play</span>]
[https://prefire.ckras.com <span class="ck-btn ck-btn-ghost">English 🇬🇧</span>]
</div>
</div>
|}
</div>
 
<div class="ck-lead">
'''PreFire Practice''' ist das perfekte Tool, um '''Prefire''' auf [[CS2]] Competitive- oder [[Workshop]]-Maps zu trainieren. 
PreFire ist vollständig in das CKRAS [[Webinterface|Webpanel]] integriert und steht allen Kunden kostenlos zur Verfügung.
</div>


{{infobig|Wir installieren dieses Addon auf Wunsch jederzeit für Dich, alternativ findest du den Link zu den Installationsdateien am Ende des Artikels.}}
<div class="ck-jump">
<b>Jump to:</b> [[PreFire#Quick_Start|Quick Start]] • [[PreFire#Befehle|Befehle]] • [[PreFire#Installation|Installation]] • [[PreFire#Verfügbare_Trainings|Trainings]] • [[PreFire#Settings|Settings]] • [[PreFire#Workshop_Maps|Workshop Maps]]
</div>


== Quick Start ==


'''AKTUELLER MAPPOOL:'''
<div class="ck-callout ck-callout--ok">
<b>Starte dein Training in wenigen Sekunden:</b>
</div>


{{checkbox|de_ancient}}
# Server betreten
{{checkbox|de_anubis}}
# Chat öffnen
{{checkbox|de_dust2}}
# <code>!prefire</code> eingeben
{{checkbox|de_inferno}}
# Map und Route auswählen
{{checkbox|de_mirage}}
# Training starten
{{checkbox|de_nuke}}
 
{{checkbox|de_overpass}}
<div class="ck-callout">
<br>
<b>Hinweis:</b> Die verfügbaren Maps und Routen werden direkt im Spielmenü angezeigt.
Das Addon ist ein Open-Source-Projekt und befindet sich derzeit noch in der Entwicklung. Zusätzliche Maps und Wege werden regelmäßig aktualisiert. PreFire benötgt [[CounterStrikeSharp|CSS]].
</div>
 
== Aktueller Mappool ==
 
<div class="ck-feature-list">
<span class="ck-feature-pill">de_ancient</span>
<span class="ck-feature-pill">de_anubis</span>
<span class="ck-feature-pill">de_dust2</span>
<span class="ck-feature-pill">de_inferno</span>
<span class="ck-feature-pill">de_mirage</span>
<span class="ck-feature-pill">de_nuke</span>
<span class="ck-feature-pill">de_overpass</span>
<span class="ck-feature-pill">de_vertigo</span>
<span class="ck-feature-pill">de_train</span>
</div>
 
<div class="ck-callout">
Ein Open-Source [[CounterStrikeSharp]]-basiertes serverseitiges Practice-Plugin für CS2 mit Multiplayer-Unterstützung.
</div>


== Befehle ==
== Befehle ==


{| class="wikitable" width="750"
<div class="ck-lead">
|+
Die wichtigsten Commands für dein PreFire-Training direkt im Spiel.
</div>
 
{| class="wikitable"
|-
|-
!Befehle!!Description
! style="width:240px;" | Befehl
! style="width:560px;" | Beschreibung
|-
|-
|!prefire||Zeigt das Startmenu
| <code>!prefire</code> || Öffnet das Startmenü
|-
|-
|!prefire prac [number]||Startet das Prac auf der ausgewählten Route
| <code>!prefire prac [number]</code> || Startet das Training auf der ausgewählten Route
|-
|-
|!prefire map [map name]||Wechselt zur angegeben Map
| <code>!prefire map [mapname]</code> || Wechselt auf die gewünschte Map
|-
|-
|!prefire df [1-5]||Schwierigkeitsgrad definieren
| <code>!prefire df [1-5]</code> || Legt den Schwierigkeitsgrad fest
|-
|-
|!prefire mode [rand/full]
| <code>!prefire mode [rand/full]</code> || Setzt den Trainingsmodus auf Random oder Full
|Trainingsmodus auf full oder random setzen.
|-
|-
|!prefire bw [rand/ump/ak/sct/awp]
| <code>!prefire bw [rand/ump/ak/sct/awp]</code> || Wählt die Waffen der Bots
|Die Waffen für die Bots auswählen.
|-
|-
|!prefire lang [en/pt/zh]
| <code>!prefire lang [en/pt/zh]</code> || Ändert die Sprache
|Sprache festlegen . en für Englisch, pt para português, 中文选择 zh。
|-
|-
|!prefire exit
| <code>!prefire exit</code> || Beendet den PreFire-Modus
|Beendet den Prefire Modus
|-
|-
|!prefire help
| <code>!prefire help</code> || Öffnet das Hilfemenü
|Hilfe Menü
|}
|}


== Installation ==
<div class="ck-callout ck-callout--amber">
<b>Voraussetzung:</b> [[Metamod]] und [[CounterStrikeSharp|CSS]]
</div>
Du kannst PreFire im [[Webinterface]] installieren, sobald [[Metamod|MM]] und [[CounterStrikeSharp|CSS]] aktiviert sind.
<div class="ck-step-grid">
<div class="ck-step-card">
<div class="ck-step-top">
<div class="ck-step-num">1</div>
<div class="ck-step-title">Metamod installieren</div>
</div>
<div class="ck-media-frame">[[Datei:Install-metamod.png|450px|alternativtext=Install Metamod|link=]]</div>
<div class="ck-step-desc">Installiere und aktiviere Metamod im Webpanel.</div>
</div>
<div class="ck-step-card">
<div class="ck-step-top">
<div class="ck-step-num">2</div>
<div class="ck-step-title">CounterStrikeSharp installieren</div>
</div>
<div class="ck-media-frame">[[Datei:Install-counterstrikesharp.png|450px|alternativtext=Install CounterStrikeSharp|link=]]</div>
<div class="ck-step-desc">Installiere danach CounterStrikeSharp (CSS).</div>
</div>
<div class="ck-step-card">
<div class="ck-step-top">
<div class="ck-step-num">3</div>
<div class="ck-step-title">PreFire installieren</div>
</div>
<div class="ck-media-frame">[[Datei:Prefire-install.png|450px|alternativtext=PreFire installieren|link=]]</div>
<div class="ck-step-desc">Klicke auf <b>Installieren</b> und starte den Server neu.</div>
</div>
</div>


=== PreFire updaten ===


PreFire ist noch nicht kompatibel mit unseren [[CKRAS BOT]]
<div class="ck-callout">
Bei einem Update einfach auf <b>Update</b> klicken, damit die neue Version eingespielt wird.
</div>


'''Wichtig:''' PreFire befindet sich noch in der Entwicklung. Wenn Ihr Fragen oder Anregungen haben, können Ihr uns jederzeit kontaktieren.
[[Datei:Update-plugin.png|750x750px]]


== Customize Workshop Maps ==
== Verfügbare Trainings ==


Advanced: For custom maps you can insert these commands<blockquote>'''pos_x pos_y pos_z ang_x ang_y ang_z'''
<div class="ck-callout">
<b>Aktuelle Competitive-Trainingsrouten:</b>
</div>


The first 3 floating numbers are the position and the other 3 are the rotation.</blockquote><blockquote>'''pos_x pos_y pos_z ang_x ang_y ang_z is_crouching'''
=== de_ancient ===
* B ramp to B site
* B house to B site
* Mid to A site
* A main to A site
* Retake A from CT spawn


The rest lines describe how to place bots. The first 3 numbers is position, following 3 numbers of the rotation. The 7th value is either True of False indicating whether the bot is crouching.</blockquote><blockquote>'''python3 calculate_height.py [PATH TO YOUR FILE]'''
=== de_anubis ===
* Attack B site from B main
* Attack B site from mid (B connector)
* Attack B site from water
* Attack A site from mid (A connector)
* Attack A site from A main
* Aggressive CT push from A main
* Aggressive CT push from B main


The positions and facing rotations can be retrived from in-game get_pos command. But please notice that, the height values used in profiles should be the values returned by get_pos minus 65. I made a python script that does this calculation for you. You can stack the strings retured by get_pos and put them in a txt file, and pass the file to the python script as described below and the script will automatically print out the formatted bot positions.</blockquote>
=== de_dust2 ===
* Attack A site from A long
* Attack A site from A short
* Attack B site from tunnel
* Attack B site from mid
* CT aggressively push from lower tunnel
* CT aggressively push top mid


== Verfügbare Prefire Trainings ==  
=== de_inferno ===
* A short to A site
* A long to A site
* A apartments to A site
* Banana to B site
* Retake B from CT spawn


<code>aktuelle Competive Maps Trainings:</code>
=== de_mirage ===
* Attack A site from A ramp (to CT spawn)
* Attack B site from B apartments
* Attack A site from A palace (to jungle)
* Attack B site from mid
* Attack A site from underpass
* Retake B site from CT spawn
* CT aggressively push A Palace


* de_inferno
=== de_nuke ===
** A short to A site
* Attack A site from hut
** A long to A site
* Attack B site from ramp
** A apartments to A site
* Entrance of lobby (T side)
** Banana to B site
* From radio to ramp
** Retake B from CT spawn
* Attack A site from Ramp/J-Hall
* de_ancient
* From T-side outside to secret
** B ramp to B site
* Attack B site from secret
** B house to B site
* Fast pace rush MINI from Silo
** Mid to A site
* Attack A site from MINI
** A main to A site
 
** Retake A from CT spawn
=== de_overpass ===
* de_mirage
* Attack B site from B long
** Attack A site from A ramp (to CT spawn)
* Attack B site from B short
** Attack B site from B apartments
* Clear underpass and go upwards to mid
** Attack A site from A palace (to jungle)
* Clear underpass and go towards B short
** Attack B site from mid
* Attack A site from A long
** Attack A site from underpass
* Attack A site from A short (mid)
** Retake B site from CT spawn
* Retake B site from CT spawn
* de_overpass
 
** Attack B site from B long
=== de_vertigo ===
** Attack B site from B short
* Attack B site from stairs
** Clear underpass and go upwards to mid
* From mid to CT spawn
** Clear underpass and go towards B short
* Attack A site from A ramp
** Attack A site from A long
* Attack A site from scaffold
** Attack A site from A short (mid)
* Retake B site from elevator
* de_dust2
 
** Attack A site from A long
=== de_train ===
** Attack A site from A short
* Attack A site from ladder room
** Attack B site from tunnel
* Attack A site from A Main
** Attack B site from mid
* Attack A site from ivy
*de_anubis
* Retake B site from CT spawn
** Attack B site from B main
** Attack B site from mid (B connector)
** Attack B site from water
** Attack A site from mid (A connector)
** Attack A site from A main
*de_nuke
**Attack A site from HUT


== Settings ==
== Settings ==


Now the plugin supports loading default settings of difficulty and training mode from a json file. You can rename '''default_cfg.json.example to default_cfg.json''' and modify the value as you like.
<div class="ck-callout">
Du kannst Standardwerte über eine JSON-Datei laden.
</div>
 
Benenne dazu:
 
<code>default_cfg.json.example</code> → <code>default_cfg.json</code>
 
und passe die Werte nach Wunsch an.
 
=== Erklärung der Werte ===
 
<div class="ck-section-grid">
 
<div class="ck-mini-card">
<div class="ck-mini-title">Difficulty</div>
<div class="ck-pathbox">
<code>0</code> = No healing<br>
<code>1</code> = Init hp 500 with no healing<br>
<code>2</code> = +25hp for each kill<br>
<code>3</code> = Reheal to 100hp after a kill<br>
<code>4</code> = +100hp for each kill<br>
<code>5</code> = +500hp for each kill
</div>
</div>
 
<div class="ck-mini-card">
<div class="ck-mini-title">Training Mode</div>
<div class="ck-pathbox">
<code>0</code> = Random mode<br>
<code>1</code> = Full mode
</div>
</div>
 
<div class="ck-mini-card">
<div class="ck-mini-title">Bot Weapon</div>
<div class="ck-pathbox">
<code>0</code> = Random<br>
<code>1</code> = UMP45<br>
<code>2</code> = AK47<br>
<code>3</code> = Scout<br>
<code>4</code> = AWP
</div>
</div>
 
<div class="ck-mini-card">
<div class="ck-mini-title">Aim Lock</div>
<div class="ck-pathbox">
<code>true</code> = Bots aimen immer auf den Kopf<br>
<code>false</code> = Native CS2-Bot-Logik
</div>
</div>
 
</div>
 
== Workshop Maps ==
 
<div class="ck-callout ck-callout--amber">
<b>Advanced:</b> Für eigene Custom- oder Workshop-Maps kannst du Bot-Positionen manuell definieren.
</div>
 
=== Positionsformat ===
 
<code>pos_x pos_y pos_z ang_x ang_y ang_z</code>
 
Die ersten 3 Werte definieren die Position, die nächsten 3 die Rotation.
 
=== Botformat ===
 
<code>pos_x pos_y pos_z ang_x ang_y ang_z is_crouching</code>
 
Der letzte Wert ist <code>True</code> oder <code>False</code> und bestimmt, ob der Bot crouched.


Erkärung der Werte:
=== Hilfsskript ===


    Difficulty
<code>python3 calculate_height.py [PATH TO YOUR FILE]</code>
        0: No healing.
        1: Init hp 500 with no healing.
        2: +25hp for each kill.
        3: +100hp for each kill.
        4: +500hp for each kill.
    Training Mode
        0: Random mode, randomly spawn some targets.
        1: Full mode, all targets.


Mit <code>get_pos</code> kannst du Positionen im Spiel auslesen. 
Beachte dabei: Der Höhenwert für Profile entspricht dem ausgegebenen Wert minus <code>65</code>.


== Entwicklung ==
== Entwicklung ==
'''TODO:'''
 
# Create prefire profiles for all maps.
<div class="ck-callout">
# Draw guiding lines on the floor.
<b>TODO:</b>
# Improve bot logic.
</div>
# Improve localization support (The supporting framework is done. Submitting translations is warmly welcomed.).
 
# Reroute saperate logs into one gathered place for better debug experience.
# Create prefire profiles for all maps
<br>
# Improve bot logic
Source: https://github.com/lengran/OpenPrefirePrac<br>
# Improve localization support
Download: https://github.com/lengran/OpenPrefirePrac/releases
# Reroute separate logs into one gathered place for better debug experience
<br>
 
'''CS2 Server''': https://www.ckras.com/ <br> <br>
== Ressourcen ==
''<small>(PreFire needs [[CounterStrikeSharp]])</small>''
 
Source: https://github.com/lengran/OpenPrefirePrac
Download: https://github.com/lengran/OpenPrefirePrac/releases
 
'''CS2 Server''': https://www.ckras.com/
 
<small>(PreFire benötigt [[CounterStrikeSharp]])</small>
 
[[Category:CS2]]
[[Category:CS2]]
[[Kategorie:CS2]]
[[Kategorie:CS2]]
</div>

Aktuelle Version vom 24. März 2026, 11:31 Uhr


PreFire Practice

Trainiere Prefire-Routen auf Competitive- und Workshop-Maps direkt auf deinem CKRAS CS2 Server.
Quick Start: Tippe !prefire im Spiel, um das Training zu starten.

PreFire Practice ist das perfekte Tool, um Prefire auf CS2 Competitive- oder Workshop-Maps zu trainieren. PreFire ist vollständig in das CKRAS Webpanel integriert und steht allen Kunden kostenlos zur Verfügung.

Quick Start

Starte dein Training in wenigen Sekunden:

  1. Server betreten
  2. Chat öffnen
  3. !prefire eingeben
  4. Map und Route auswählen
  5. Training starten

Hinweis: Die verfügbaren Maps und Routen werden direkt im Spielmenü angezeigt.

Aktueller Mappool

de_ancient de_anubis de_dust2 de_inferno de_mirage de_nuke de_overpass de_vertigo de_train

Ein Open-Source CounterStrikeSharp-basiertes serverseitiges Practice-Plugin für CS2 mit Multiplayer-Unterstützung.

Befehle

Die wichtigsten Commands für dein PreFire-Training direkt im Spiel.

Befehl Beschreibung
!prefire Öffnet das Startmenü
!prefire prac [number] Startet das Training auf der ausgewählten Route
!prefire map [mapname] Wechselt auf die gewünschte Map
!prefire df [1-5] Legt den Schwierigkeitsgrad fest
!prefire mode [rand/full] Setzt den Trainingsmodus auf Random oder Full
!prefire bw [rand/ump/ak/sct/awp] Wählt die Waffen der Bots
!prefire lang [en/pt/zh] Ändert die Sprache
!prefire exit Beendet den PreFire-Modus
!prefire help Öffnet das Hilfemenü

Installation

Voraussetzung: Metamod und CSS

Du kannst PreFire im Webinterface installieren, sobald MM und CSS aktiviert sind.

1
Metamod installieren
Install Metamod
Installiere und aktiviere Metamod im Webpanel.
2
CounterStrikeSharp installieren
Install CounterStrikeSharp
Installiere danach CounterStrikeSharp (CSS).
3
PreFire installieren
PreFire installieren
Klicke auf Installieren und starte den Server neu.

PreFire updaten

Bei einem Update einfach auf Update klicken, damit die neue Version eingespielt wird.

Verfügbare Trainings

Aktuelle Competitive-Trainingsrouten:

de_ancient

  • B ramp to B site
  • B house to B site
  • Mid to A site
  • A main to A site
  • Retake A from CT spawn

de_anubis

  • Attack B site from B main
  • Attack B site from mid (B connector)
  • Attack B site from water
  • Attack A site from mid (A connector)
  • Attack A site from A main
  • Aggressive CT push from A main
  • Aggressive CT push from B main

de_dust2

  • Attack A site from A long
  • Attack A site from A short
  • Attack B site from tunnel
  • Attack B site from mid
  • CT aggressively push from lower tunnel
  • CT aggressively push top mid

de_inferno

  • A short to A site
  • A long to A site
  • A apartments to A site
  • Banana to B site
  • Retake B from CT spawn

de_mirage

  • Attack A site from A ramp (to CT spawn)
  • Attack B site from B apartments
  • Attack A site from A palace (to jungle)
  • Attack B site from mid
  • Attack A site from underpass
  • Retake B site from CT spawn
  • CT aggressively push A Palace

de_nuke

  • Attack A site from hut
  • Attack B site from ramp
  • Entrance of lobby (T side)
  • From radio to ramp
  • Attack A site from Ramp/J-Hall
  • From T-side outside to secret
  • Attack B site from secret
  • Fast pace rush MINI from Silo
  • Attack A site from MINI

de_overpass

  • Attack B site from B long
  • Attack B site from B short
  • Clear underpass and go upwards to mid
  • Clear underpass and go towards B short
  • Attack A site from A long
  • Attack A site from A short (mid)
  • Retake B site from CT spawn

de_vertigo

  • Attack B site from stairs
  • From mid to CT spawn
  • Attack A site from A ramp
  • Attack A site from scaffold
  • Retake B site from elevator

de_train

  • Attack A site from ladder room
  • Attack A site from A Main
  • Attack A site from ivy
  • Retake B site from CT spawn

Settings

Du kannst Standardwerte über eine JSON-Datei laden.

Benenne dazu:

default_cfg.json.exampledefault_cfg.json

und passe die Werte nach Wunsch an.

Erklärung der Werte

Difficulty

0 = No healing
1 = Init hp 500 with no healing
2 = +25hp for each kill
3 = Reheal to 100hp after a kill
4 = +100hp for each kill
5 = +500hp for each kill

Training Mode

0 = Random mode
1 = Full mode

Bot Weapon

0 = Random
1 = UMP45
2 = AK47
3 = Scout
4 = AWP

Aim Lock

true = Bots aimen immer auf den Kopf
false = Native CS2-Bot-Logik

Workshop Maps

Advanced: Für eigene Custom- oder Workshop-Maps kannst du Bot-Positionen manuell definieren.

Positionsformat

pos_x pos_y pos_z ang_x ang_y ang_z

Die ersten 3 Werte definieren die Position, die nächsten 3 die Rotation.

Botformat

pos_x pos_y pos_z ang_x ang_y ang_z is_crouching

Der letzte Wert ist True oder False und bestimmt, ob der Bot crouched.

Hilfsskript

python3 calculate_height.py [PATH TO YOUR FILE]

Mit get_pos kannst du Positionen im Spiel auslesen. Beachte dabei: Der Höhenwert für Profile entspricht dem ausgegebenen Wert minus 65.

Entwicklung

TODO:

  1. Create prefire profiles for all maps
  2. Improve bot logic
  3. Improve localization support
  4. Reroute separate logs into one gathered place for better debug experience

Ressourcen

Source: https://github.com/lengran/OpenPrefirePrac Download: https://github.com/lengran/OpenPrefirePrac/releases

CS2 Server: https://www.ckras.com/

(PreFire benötigt CounterStrikeSharp)