PreFire: Difference between revisions
No edit summary |
|||
| Line 1: | Line 1: | ||
__NOTOC__ | |||
{{#seo: | {{#seo: | ||
|title=Practice | |title=PreFire Practice Plugin for CS2 Server - CKRAS WIKI | ||
|title_mode=append | |title_mode=append | ||
|keywords=ckras, wiki, cs2, | |keywords=ckras, wiki, cs2, prefire, prefire practice, cs2 training, aim training, cs2 server plugin, gameserver training, counterstrikesharp, practice plugin, competitive maps, workshop maps | ||
|description=PreFire | |description=PreFire Practice is a CS2 training plugin for CKRAS servers. Train prefire routes on competitive and custom maps with one-click install, multiplayer support and easy in-game control. | ||
|image=Target-practice.png | |image=Target-practice.png | ||
|image_alt=PreFire Practice Training for CS2 Gameserver - CKRAS.com | |image_alt=PreFire Practice Training for CS2 Gameserver - CKRAS.com | ||
}} | }} | ||
<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">[[File:Target-practice.png|110px|alt=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">Train prefire routes on competitive and workshop maps instantly on your CKRAS CS2 server.</div> | |||
<div class="ck-hero-meta"><b>Quick Start:</b> Type <code>!prefire</code> in-game to open the training menu.</div> | |||
<div class="ck-hero-actions"> | |||
[https://iface.ckras.com <span class="ck-btn ck-btn-primary">▶ Open Webpanel</span>] | |||
[https://www.ckras.com/en/ <span class="ck-btn ck-btn-ghost">CKRAS Website</span>] | |||
[https://play.ckras.com <span class="ck-btn ck-btn-ghost">Play</span>] | |||
[https://wiki.ckras.com/wiki/index.php?title=PreFire_Deutsch <span class="ck-btn ck-btn-ghost">Deutsch 🇩🇪</span>] | |||
</div> | |||
</div> | |||
|} | |||
</div> | |||
<div class="ck-lead"> | |||
'''PreFire Practice''' is a training addon for '''[[CS2]]''' that helps you improve '''prefire routes''' on competitive and custom maps. | |||
On CKRAS, PreFire is '''fully integrated''' into your server setup and available to all customers free of charge. | |||
</div> | |||
<div class="ck-jump"> | |||
<b>Jump to:</b> [[PreFire#Quick_Start|Quick Start]] • [[PreFire#Commands|Commands]] • [[PreFire#Installation|Installation]] • [[PreFire#Practice_Routes|Practice Routes]] • [[PreFire#Advanced_Configuration|Advanced Configuration]] • [[PreFire#Custom_Maps|Custom Maps]] | |||
</div> | |||
== Quick Start == | |||
<div class="ck-callout ck-callout--ok"> | |||
<b>Start training in under 10 seconds:</b> | |||
</div> | |||
< | # Join your server | ||
# Open chat | |||
# Type <code>!prefire</code> | |||
# Select a map and route | |||
# Start practicing | |||
<div class="ck-callout ck-callout--amber"> | |||
<b>Note:</b> PreFire is available only on supported maps shown in the in-game menu. | |||
</div> | |||
== Available Maps == | |||
<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 (NEW)</span> | |||
</div> | |||
== Why PreFire on CKRAS == | |||
With PreFire you can quickly train common site entries, crosshair placement and timing on realistic routes. | |||
CKRAS integrates the plugin directly into the [[Webinterface|webpanel]], so installation and updates are simple and fast. | |||
<div class="ck-callout"> | |||
<b>Included by default:</b> PreFire is available for every CKRAS customer and can be installed with one click after [[CounterStrikeSharp|CSS]] has been activated. | |||
</div> | |||
== Commands == | == Commands == | ||
<div class="ck-lead"> | |||
| | Use these commands directly in-game to start and control PreFire training. | ||
</div> | |||
<div class="ck-command-nav"> | |||
[[PreFire#Basic_Commands|Basic Commands]] • [[PreFire#Training_Commands|Training Commands]] • [[PreFire#Settings_Commands|Settings Commands]] | |||
</div> | |||
=== Basic Commands === | |||
{| class="wikitable" | |||
|- | |- | ||
! | ! style="width: 220px;" | Command | ||
! style="width: 580px;" | Description | |||
|- | |- | ||
|!prefire|| | | <code>!prefire</code> || Opens the PreFire menu. | ||
|- | |- | ||
|!prefire | | <code>!prefire help</code> || Shows the help menu. | ||
|- | |- | ||
|!prefire | | <code>!prefire exit</code> || Stops the current PreFire session. | ||
|} | |||
=== Training Commands === | |||
{| class="wikitable" | |||
|- | |- | ||
|! | ! style="width: 220px;" | Command | ||
! style="width: 580px;" | Description | |||
|- | |- | ||
|!prefire | | <code>!prefire prac [number]</code> || Starts the selected training route. | ||
| | |||
|- | |- | ||
|!prefire | | <code>!prefire map [map name]</code> || Switches to another available map. | ||
| | |} | ||
=== Settings Commands === | |||
{| class="wikitable" | |||
|- | |- | ||
|! | ! style="width: 220px;" | Command | ||
| | ! style="width: 580px;" | Description | ||
|- | |- | ||
|!prefire | | <code>!prefire df [1-5]</code> || Sets the difficulty level. | ||
| | |||
|- | |- | ||
|!prefire | | <code>!prefire mode [rand/full]</code> || Sets training mode to random or full. | ||
| | |- | ||
| <code>!prefire bw [rand/ump/ak/sct/awp]</code> || Sets the weapons used by bots. | |||
|- | |||
| <code>!prefire lang [en/pt/zh]</code> || Changes the language. | |||
|} | |} | ||
== Installation == | |||
PreFire requires [[CounterStrikeSharp|CounterStrikeSharp]] and [[Metamod|Metamod]]. | |||
Install Metamod first in the [[Webinterface|webpanel]], then activate CounterStrikeSharp and install PreFire. | |||
<div class="ck-callout ck-callout--amber"> | |||
<b>Requirement:</b> PreFire needs [[CounterStrikeSharp]] to run. | |||
</div> | |||
<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">Install Metamod</div> | |||
</div> | |||
<div class="ck-media-frame">[[File:Install-metamod.png|450px|alt=Install Metamod|link=]]</div> | |||
<div class="ck-step-desc">Install and activate Metamod in the webinterface first.</div> | |||
</div> | |||
<div class="ck-step-card"> | |||
<div class="ck-step-top"> | |||
<div class="ck-step-num">2</div> | |||
<div class="ck-step-title">Install CounterStrikeSharp</div> | |||
</div> | |||
<div class="ck-media-frame">[[File:Install-counterstrikesharp.png|450px|alt=Install CounterStrikeSharp|link=]]</div> | |||
<div class="ck-step-desc">After Metamod is active, install 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">Install PreFire</div> | |||
</div> | |||
<div class="ck-media-frame">[[File:Prefire-install.png|450px|alt=Install PreFire Practice|link=]]</div> | |||
<div class="ck-step-desc">Click <b>Install</b>, restart the server and start practicing with <code>!prefire</code>.</div> | |||
</div> | |||
</div> | |||
=== Update PreFire === | |||
= | <div class="ck-callout"> | ||
To update PreFire, click the <b>Update</b> button in the webpanel. | |||
</div> | |||
[[File:Update-plugin.png|750x750px|alt=Update PreFire Plugin]] | |||
== Practice Routes == | |||
<div class="ck-callout"> | |||
<b>Available scenarios depend on the map.</b> Each route is designed to simulate realistic entries, clears or retakes. | |||
</div> | |||
=== de_ancient === | |||
* B ramp to B site | |||
* B house to B site | |||
* Mid to A site | |||
* A main to A site (modified) | |||
* 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 | |||
== Advanced Configuration == | |||
<div class="ck-section-grid"> | |||
<div class="ck-mini-card"> | |||
<div class="ck-mini-title">Config File</div> | |||
<div class="ck-pathbox"><code>default_cfg.json</code></div> | |||
Rename <code>default_cfg.json.example</code> to <code>default_cfg.json</code> and adjust the default values. | |||
</div> | |||
<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> = 500 HP, no healing<br> | |||
<code>2</code> = +25 HP per kill<br> | |||
<code>3</code> = Reheal to 100 HP after kill<br> | |||
<code>4</code> = +100 HP per kill<br> | |||
<code>5</code> = +500 HP per 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>0</code> = Native CS2 bot behavior<br> | |||
<code>1</code> = CSS-based aim lock<br> | |||
<code>2</code> = Behavior-tree aim lock | |||
</div> | |||
</div> | |||
</div> | |||
== Custom Maps == | == Custom Maps == | ||
For custom maps you can | For custom maps, you can define player and bot positions manually. | ||
<div class="ck-callout"> | |||
<b>Position format:</b><br> | |||
<code>pos_x pos_y pos_z ang_x ang_y ang_z</code> | |||
</div> | |||
<div class="ck-callout"> | |||
<b>Bot format:</b><br> | |||
<code>pos_x pos_y pos_z ang_x ang_y ang_z is_crouching</code> | |||
</div> | |||
The first 3 floating point values define the position. | |||
The next 3 values define the rotation. | |||
The last value defines whether the bot is crouching: <code>True</code> or <code>False</code>. | |||
<div class="ck-callout ck-callout--amber"> | |||
<b>Tip:</b> Use the in-game <code>get_pos</code> command to retrieve positions. | |||
The height value used in profiles should be the returned value minus <code>65</code>. | |||
</div> | |||
You can use the helper script: | |||
<code>python3 calculate_height.py [PATH TO YOUR FILE]</code> | |||
This script converts exported position strings into formatted bot positions automatically. | |||
== Development == | == Development == | ||
#Create prefire profiles for all maps | <div class="ck-callout"> | ||
#Apply behavior | <b>Planned improvements:</b> | ||
#Improve localization support | </div> | ||
#Reorganize | |||
#Reroute | # Create prefire profiles for all maps | ||
# Apply behavior trees to improve bot AI logic | |||
# Improve localization support | |||
# Reorganize files and code structure | |||
# Reroute logs into one central location for easier debugging | |||
== Related Links == | |||
You want to play [[Workshop]] maps? Check this [[Workshop|Guide]]. | |||
== Resources == | |||
Source: https://github.com/lengran/OpenPrefirePrac | |||
Download: https://github.com/lengran/OpenPrefirePrac/releases | |||
CS2 Server: https://www.ckras.com/ | |||
<small>(PreFire needs [[CounterStrikeSharp]])</small> | |||
[[index.php?title=Category:CS2]] | [[index.php?title=Category:CS2]] | ||
[[index.php?title=Category:CS2]] | [[index.php?title=Category:CS2]] | ||
</div> | |||
Revision as of 20:24, 23 March 2026
PreFire PracticeTrain prefire routes on competitive and workshop maps instantly on your CKRAS CS2 server.
|
PreFire Practice is a training addon for CS2 that helps you improve prefire routes on competitive and custom maps. On CKRAS, PreFire is fully integrated into your server setup and available to all customers free of charge.
Jump to: Quick Start • Commands • Installation • Practice Routes • Advanced Configuration • Custom Maps
Quick Start
Start training in under 10 seconds:
- Join your server
- Open chat
- Type
!prefire - Select a map and route
- Start practicing
Note: PreFire is available only on supported maps shown in the in-game menu.
Available Maps
de_ancient de_anubis de_dust2 de_inferno de_mirage de_nuke de_overpass de_vertigo de_train (NEW)
Why PreFire on CKRAS
With PreFire you can quickly train common site entries, crosshair placement and timing on realistic routes. CKRAS integrates the plugin directly into the webpanel, so installation and updates are simple and fast.
Included by default: PreFire is available for every CKRAS customer and can be installed with one click after CSS has been activated.
Commands
Use these commands directly in-game to start and control PreFire training.
Basic Commands
| Command | Description |
|---|---|
!prefire |
Opens the PreFire menu. |
!prefire help |
Shows the help menu. |
!prefire exit |
Stops the current PreFire session. |
Training Commands
| Command | Description |
|---|---|
!prefire prac [number] |
Starts the selected training route. |
!prefire map [map name] |
Switches to another available map. |
Settings Commands
| Command | Description |
|---|---|
!prefire df [1-5] |
Sets the difficulty level. |
!prefire mode [rand/full] |
Sets training mode to random or full. |
!prefire bw [rand/ump/ak/sct/awp] |
Sets the weapons used by bots. |
!prefire lang [en/pt/zh] |
Changes the language. |
Installation
PreFire requires CounterStrikeSharp and Metamod. Install Metamod first in the webpanel, then activate CounterStrikeSharp and install PreFire.
Requirement: PreFire needs CounterStrikeSharp to run.
!prefire.Update PreFire
To update PreFire, click the Update button in the webpanel.
Practice Routes
Available scenarios depend on the map. Each route is designed to simulate realistic entries, clears or retakes.
de_ancient
- B ramp to B site
- B house to B site
- Mid to A site
- A main to A site (modified)
- 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
Advanced Configuration
default_cfg.jsonRename default_cfg.json.example to default_cfg.json and adjust the default values.
0 = No healing
1 = 500 HP, no healing
2 = +25 HP per kill
3 = Reheal to 100 HP after kill
4 = +100 HP per kill
5 = +500 HP per kill
0 = Random mode
1 = Full mode
0 = Random
1 = UMP45
2 = AK47
3 = Scout
4 = AWP
0 = Native CS2 bot behavior
1 = CSS-based aim lock
2 = Behavior-tree aim lock
Custom Maps
For custom maps, you can define player and bot positions manually.
Position format:
pos_x pos_y pos_z ang_x ang_y ang_z
Bot format:
pos_x pos_y pos_z ang_x ang_y ang_z is_crouching
The first 3 floating point values define the position.
The next 3 values define the rotation.
The last value defines whether the bot is crouching: True or False.
Tip: Use the in-game get_pos command to retrieve positions.
The height value used in profiles should be the returned value minus 65.
You can use the helper script:
python3 calculate_height.py [PATH TO YOUR FILE]
This script converts exported position strings into formatted bot positions automatically.
Development
Planned improvements:
- Create prefire profiles for all maps
- Apply behavior trees to improve bot AI logic
- Improve localization support
- Reorganize files and code structure
- Reroute logs into one central location for easier debugging
Related Links
You want to play Workshop maps? Check this Guide.
Resources
Source: https://github.com/lengran/OpenPrefirePrac Download: https://github.com/lengran/OpenPrefirePrac/releases CS2 Server: https://www.ckras.com/
(PreFire needs CounterStrikeSharp)
