PreFire: Difference between revisions

From CKRAS Wiki

No edit summary
Line 1: Line 1:
__NOTOC__
{{#seo:
{{#seo:
|title=Practice Training for CS2 Server -CKRAS WIKI
|title=PreFire Practice Plugin for 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, prefire, prefire practice, cs2 training, aim training, cs2 server plugin, gameserver training, counterstrikesharp, practice plugin, competitive maps, workshop maps
|description=PreFire Prac Training for CS2 Gameserver, helps you to perform various prefire trainings on competitive or workshop maps, available at www.ckras.com
|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
}}
}}
[[File:Target-practice.png|left|20x20px|PREFIRE]]
PreFire Practice for '''[[CS2]]''' is the perfect tool to train prefire on competitive and custom Counter-Strike 2 maps, with '''PreFire''' Addon you can start the training scenarios with '''!prefire''' on the currently available maps as indicated in the menu. prefire is available as default for every ckras customer.  >> [https://wiki.ckras.com/wiki/index.php?title=PreFire Deutsch] [[File:Germany.png|alt=Deutsch|20x20px|link=https://wiki.ckras.com/wiki/index.php?title=PreFire]]


<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>


'''CURRENT PREFIRE MAPPOOL:'''
== Quick Start ==


{{checkbox|de_ancient}}
<div class="ck-callout ck-callout--ok">
{{checkbox|de_anubis}}
<b>Start training in under 10 seconds:</b>
{{checkbox|de_dust2}}
</div>
{{checkbox|de_inferno}}
{{checkbox|de_mirage}}
{{checkbox|de_nuke}}
{{checkbox|de_overpass}}
{{checkbox|de_vertigo}}
{{checkbox|de_train "NEW"}}


<br>Prefire Practice for your [[CS2]] [[Gameserver|gameservers]] is fully integrated into the CKRAS [[Webinterface|webpanel]] and is available to all customers free of charge. PreFire requires [[CounterStrikeSharp|CSS]] and can be installed with one-click in the panel.
# Join your server
# Open chat
# Type <code>!prefire</code>
# Select a map and route
# Start practicing


''<small>An open-source [[CounterStrikeSharp]] powered server-side practicing plugin for CS2. It provides multiple prefire practices on competitive map pool maps and support multiplayer practicing concurrently.</small>''
<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 ==


{| class="wikitable" width="750"
<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"
|-
|-
!Commands!!Description
! style="width: 220px;" | Command
! style="width: 580px;" | Description
|-
|-
|!prefire||Start menu
| <code>!prefire</code> || Opens the PreFire menu.
|-
|-
|!prefire prac [number]||Start practicing on a selected route.  
| <code>!prefire help</code> || Shows the help menu.
|-
|-
|!prefire map [map name]||Switch to another map.
| <code>!prefire exit</code> || Stops the current PreFire session.
|}
 
=== Training Commands ===
 
{| class="wikitable"
|-
|-
|!prefire df [1-5]||Set the difficulty.
! style="width: 220px;" | Command
! style="width: 580px;" | Description
|-
|-
|!prefire mode [rand/full]
| <code>!prefire prac [number]</code> || Starts the selected training route.
|Set training mode, full or random.
|-
|-
|!prefire bw [rand/ump/ak/sct/awp]
| <code>!prefire map [map name]</code> || Switches to another available map.
|Set weapons for bots.
|}
 
=== Settings Commands ===
 
{| class="wikitable"
|-
|-
|!prefire lang [en/pt/zh]
! style="width: 220px;" | Command
|Set language. en for English, pt para português, 中文选择 zh。
! style="width: 580px;" | Description
|-
|-
|!prefire exit
| <code>!prefire df [1-5]</code> || Sets the difficulty level.
|''Stop'' practicing PreFire.
|-
|-
|!prefire help
| <code>!prefire mode [rand/full]</code> || Sets training mode to random or full.
|Help Menu
|-
| <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 ===


== Prefire Installation ==
<div class="ck-callout">
To update PreFire, click the <b>Update</b> button in the webpanel.
</div>


You can install PreFire in the [[webinterface]] as soon as you have installed&activated [[Metamod|MM]] & [[CounterStrikeSharp|CSS]], then you just have to click on Install and after the server restart you can start your PreFire Practice.
[[File:Update-plugin.png|750x750px|alt=Update PreFire Plugin]]


[[File:Install-metamod.png|750x750px]]
== Practice Routes ==


[[File:Install-counterstrikesharp.png|alt=Install CounterStrike Sharp|750x750px]]
<div class="ck-callout">
<b>Available scenarios depend on the map.</b> Each route is designed to simulate realistic entries, clears or retakes.
</div>


[[File:Prefire-install.png|alt=Install PreFire Practice|750x750px]]
=== 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


=== PreFire Update ===
=== de_dust2 ===
When updating, simply click on this button and the new update will be installed.
* 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


[[File:Update-plugin.png|750x750px]]
=== 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


== Prefire Pracs available ==  
=== 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


<code>Finished Practices:</code>
=== 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_ancient
=== de_overpass ===
** B ramp to B site
* Attack B site from B long
** B house to B site
* Attack B site from B short
** Mid to A site
* Clear underpass and go upwards to mid
** A main to A site (modified)
* Clear underpass and go towards B short
** Retake A from CT spawn
* Attack A site from A long
*de_anubis
* Attack A site from A short (mid)
** Attack B site from B main
* Retake B site from CT spawn
** 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
** Add a practice route for aggressive CT pushing from A main.
** Add a practice route for aggressive CT pushing 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.


== Values ==
=== 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


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.
=== 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


'''''Adjust default settings'''''
== Advanced Configuration ==


      Difficulty
<div class="ck-section-grid">
        0: No healing.
 
        1: Init hp 500 with no healing.
<div class="ck-mini-card">
        2: +25hp for each kill.
<div class="ck-mini-title">Config File</div>
        3: Reheal to 100hp after a kill.
<div class="ck-pathbox"><code>default_cfg.json</code></div>
        4: +100hp for each kill.
Rename <code>default_cfg.json.example</code> to <code>default_cfg.json</code> and adjust the default values.
        5: +500hp for each kill.
</div>
    Training Mode
 
        0: Random mode, randomly spawn some targets.
<div class="ck-mini-card">
        1: Full mode, all targets.
<div class="ck-mini-title">Difficulty</div>
    Bot Weapon
<div class="ck-pathbox">
        0: Bots buy weapons randomly.
<code>0</code> = No healing<br>
        1: Bots use UMP45.
<code>1</code> = 500 HP, no healing<br>
        2: Bots use AK47.
<code>2</code> = +25 HP per kill<br>
        3: Bots use Scout.
<code>3</code> = Reheal to 100 HP after kill<br>
        4: Bots use AWP.
<code>4</code> = +100 HP per kill<br>
  Aim lock for bots
<code>5</code> = +500 HP per kill
        0: CS2's native bot behavior. It works in a consistant manner but is less powerful.
</div>
      1: CSS based aim lock: Bots always aim at players' heads. But this may conflict with CS2's native bot logic, causing bots to not react under certain circumstances.
</div>
      2: Behavior tree based aim lock: Hard mode.
 
<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 insert these commands<blockquote>'''pos_x pos_y pos_z ang_x ang_y ang_z'''
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:


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'''
<code>python3 calculate_height.py [PATH TO YOUR FILE]</code>


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]'''
This script converts exported position strings into formatted bot positions automatically.


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>
== Development ==
== Development ==
'''TODO (From DEV PAGE):'''


#Create prefire profiles for all maps.
<div class="ck-callout">
#Apply behavior tree to improve bot AI logic.
<b>Planned improvements:</b>
#Improve localization support (The supporting framework is done. Submitting translations is warmly welcomed.).
</div>
#Reorganize the files and code structure. Try to put code into submodules to improve readability.
 
#Reroute separate logs into one gathered place for better debug experience.
# 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>


You want to play [[Workshop]] Maps, check this [[Workshop|Guide]].
<br>
Source: https://github.com/lengran/OpenPrefirePrac<br>
Download: https://github.com/lengran/OpenPrefirePrac/releases
<br>
'''CS2 Server''': https://www.ckras.com/ <br> <br>
''<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 Practice

Train prefire routes on competitive and workshop maps instantly on your CKRAS CS2 server.
Quick Start: Type !prefire in-game to open the training menu.

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.

Quick Start

Start training in under 10 seconds:

  1. Join your server
  2. Open chat
  3. Type !prefire
  4. Select a map and route
  5. 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.

1
Install Metamod
Install Metamod
Install and activate Metamod in the webinterface first.
2
Install CounterStrikeSharp
Install CounterStrikeSharp
After Metamod is active, install CounterStrikeSharp (CSS).
3
Install PreFire
Install PreFire Practice
Click Install, restart the server and start practicing with !prefire.

Update PreFire

To update PreFire, click the Update button in the webpanel.

Update PreFire Plugin

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

Config File
default_cfg.json

Rename default_cfg.json.example to default_cfg.json and adjust the default values.

Difficulty

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

Training Mode

0 = Random mode
1 = Full mode

Bot Weapon

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

Aim Lock

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:

  1. Create prefire profiles for all maps
  2. Apply behavior trees to improve bot AI logic
  3. Improve localization support
  4. Reorganize files and code structure
  5. 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)

index.php?title=Category:CS2 index.php?title=Category:CS2