PreFire: Difference between revisions

From CKRAS Wiki

No edit summary
 
(16 intermediate revisions by the same user not shown)
Line 8: Line 8:
}}
}}
[[File:Target-practice.png|left|20x20px|PREFIRE]]
[[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.  >> [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]]
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]]
 
 
{{infobig|We will install this addon for you at any time on request (soon available in the panel), alternatively see the link to the installation files at the end of the article}}




Line 24: Line 21:
{{checkbox|de_nuke}}
{{checkbox|de_nuke}}
{{checkbox|de_overpass}}
{{checkbox|de_overpass}}
<br>Prefire Practice for [[CS2]] [[Gameserver|gameservers]] will soon be fully integrated into the CKRAS [[Webinterface|webpanel]] and will be available to all customers free of charge. PreFire requires [[CounterStrikeSharp|CSS]].
{{checkbox|de_vertigo}}
 
<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.


''<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>''
''<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>''
Line 60: Line 59:




PreFire is not compatible with our [[CKRAS BOT]]
'''Important:''' PreFire is still under development, if you have any questions or suggestions please contact us at any time.
For custom maps you can insert these commands<blockquote>'''pos_x pos_y pos_z ang_x ang_y ang_z'''
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'''
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]'''
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>


== Prefire Installation ==  
== Prefire Installation ==  


You can install PreFire in the [[webinterface]] as soon as you have installed&activated [[Metamod|MM]], then you just have to click on Install and after the server restart you can start your PreFire Practice.
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:Install-metamod.png|750x750px]]
[[File:Install-metamod.png|750x750px]]
[[File:Install-counterstrikesharp.png|alt=Install CounterStrike Sharp|750x750px]]


[[File:Prefire-install.png|alt=Install PreFire Practice|750x750px]]
[[File:Prefire-install.png|alt=Install PreFire Practice|750x750px]]


=== PreFire Update ===
=== PreFire Update ===
Line 94: Line 84:
** B house to B site
** B house to B site
** Mid to A site
** Mid to A site
** A main to A site
** A main to A site (modified)
** Retake A from CT spawn
** Retake A from CT spawn
*de_anubis
*de_anubis
Line 124: Line 114:
** Attack A site from underpass
** Attack A site from underpass
** Retake B site from CT spawn
** Retake B site from CT spawn
** CT aggressively push A Palace
*de_nuke  
*de_nuke  
**Attack A site from hut
**Attack A site from hut
Line 134: Line 125:
** Fast pace rush MINI from Silo
** Fast pace rush MINI from Silo
** Attack A site from MINI
** Attack A site from MINI
* de_overpass
* de_overpass
** Attack B site from B long
** Attack B site from B long
Line 142: Line 132:
** Attack A site from A long
** Attack A site from A long
** Attack A site from A short (mid)
** 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


== Values ==
== Values ==
Line 147: Line 144:
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.
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.


Explanation of values:
'''''Adjust default settings'''''


    Difficulty
      Difficulty
         0: No healing.
         0: No healing.
         1: Init hp 500 with no healing.
         1: Init hp 500 with no healing.
         2: +25hp for each kill.
         2: +25hp for each kill.
         3: +100hp for each kill.
         3: Reheal to 100hp after a kill.
         4: +500hp for each kill.
        4: +100hp for each kill.
         5: +500hp for each kill.
     Training Mode
     Training Mode
         0: Random mode, randomly spawn some targets.
         0: Random mode, randomly spawn some targets.
         1: Full mode, all targets.
         1: Full mode, all targets.
    Bot Weapon
        0: Bots buy weapons randomly.
        1: Bots use UMP45.
        2: Bots use AK47.
        3: Bots use Scout.
        4: Bots use AWP.
  Aim lock for bots
        0: CS2's native bot behavior. It works in a consistant manner but is less powerful.
      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.
      2: Behavior tree based aim lock: Hard mode.
== Custom Maps ==
For custom maps you can insert these commands<blockquote>'''pos_x pos_y pos_z ang_x ang_y ang_z'''
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'''


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


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


#Create prefire profiles for all maps.
#Create prefire profiles for all maps.
#Improve bot logic.
#Apply behavior tree to improve bot AI logic.
#Improve localization support (The supporting framework is done. Submitting translations is warmly welcomed.).
#Improve localization support (The supporting framework is done. Submitting translations is warmly welcomed.).
#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.
#Reroute separate logs into one gathered place for better debug experience.



Latest revision as of 12:11, 12 September 2024

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


CURRENT PREFIRE MAPPOOL:

de_ancient
de_anubis
de_dust2
de_inferno
de_mirage
de_nuke
de_overpass
de_vertigo


Prefire Practice for your CS2 gameservers is fully integrated into the CKRAS webpanel and is available to all customers free of charge. PreFire requires CSS and can be installed with one-click in the panel.

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.

Commands

Commands Description
!prefire Start menu
!prefire prac [number] Start practicing on a selected route.
!prefire map [map name] Switch to another map.
!prefire df [1-5] Set the difficulty.
!prefire mode [rand/full] Set training mode, full or random.
!prefire bw [rand/ump/ak/sct/awp] Set weapons for bots.
!prefire lang [en/pt/zh] Set language. en for English, pt para português, 中文选择 zh。
!prefire exit Stop practicing PreFire.
!prefire help Help Menu


Prefire Installation

You can install PreFire in the webinterface as soon as you have installed&activated MM & CSS, then you just have to click on Install and after the server restart you can start your PreFire Practice.

Install-metamod.png

Install CounterStrike Sharp

Install PreFire Practice


PreFire Update

When updating, simply click on this button and the new update will be installed.

Update-plugin.png

Prefire Pracs available

Finished Practices:
  • 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
    • 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

Values

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.

Adjust default settings

      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, randomly spawn some targets.
       1: Full mode, all targets.
   Bot Weapon
       0: Bots buy weapons randomly.
       1: Bots use UMP45.
       2: Bots use AK47.
       3: Bots use Scout.
       4: Bots use AWP.
  Aim lock for bots
       0: CS2's native bot behavior. It works in a consistant manner but is less powerful.
      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.
      2: Behavior tree based aim lock: Hard mode.

Custom Maps

For custom maps you can insert these commands

pos_x pos_y pos_z ang_x ang_y ang_z The first 3 floating numbers are the position and the other 3 are the rotation.

pos_x pos_y pos_z ang_x ang_y ang_z is_crouching 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.

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

Development

TODO (From DEV PAGE):

  1. Create prefire profiles for all maps.
  2. Apply behavior tree to improve bot AI logic.
  3. Improve localization support (The supporting framework is done. Submitting translations is warmly welcomed.).
  4. Reorganize the files and code structure. Try to put code into submodules to improve readability.
  5. Reroute separate logs into one gathered place for better debug experience.



Source: https://github.com/lengran/OpenPrefirePrac
Download: https://github.com/lengran/OpenPrefirePrac/releases
CS2 Server: https://www.ckras.com/

(PreFire needs CounterStrikeSharp)