PreFire: Difference between revisions
No edit summary |
|||
(29 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{#seo: | {{#seo: | ||
|title=Practice CS2 Server | |title=Practice Training 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, gameserver, help, guide, webinterface, prefire, prac, opensource, training, control, gslt, area, wiki, help | ||
|description=PreFire Prac for CS2 Gameserver, helps you to perform various prefire trainings on competitive maps, available at www.ckras.com | |description=PreFire Prac Training for CS2 Gameserver, helps you to perform various prefire trainings on competitive or workshop maps, available at www.ckras.com | ||
|image=Target-practice.png | |image=Target-practice.png | ||
|image_alt=PreFire Practice for CS2 Gameserver - CKRAS.com | |image_alt=PreFire Practice Training for CS2 Gameserver - CKRAS.com | ||
}} | }} | ||
[[File:Target-practice.png|left|20x20px|PREFIRE]] | [[File:Target-practice.png|left|20x20px|PREFIRE]] | ||
PreFire Practice for '''[[CS2]]''' is perfect tool to train prefire on | 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]] | ||
'''CURRENT MAPPOOL:''' | '''CURRENT PREFIRE MAPPOOL:''' | ||
{{checkbox|de_ancient}} | {{checkbox|de_ancient}} | ||
Line 25: | Line 21: | ||
{{checkbox|de_nuke}} | {{checkbox|de_nuke}} | ||
{{checkbox|de_overpass}} | {{checkbox|de_overpass}} | ||
<br> | {{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>'' | |||
== Commands == | == Commands == | ||
Line 61: | Line 60: | ||
== Prefire Installation == | |||
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-counterstrikesharp.png|alt=Install CounterStrike Sharp|750x750px]] | |||
[[File:Prefire-install.png|alt=Install PreFire Practice|750x750px]] | |||
=== PreFire Update === | |||
When updating, simply click on this button and the new update will be installed. | |||
[[File:Update-plugin.png|750x750px]] | |||
== Prefire Pracs available == | == Prefire Pracs available == | ||
Line 81: | 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 95: | Line 98: | ||
** Attack A site from A short | ** Attack A site from A short | ||
** Attack B site from tunnel | ** Attack B site from tunnel | ||
**Attack B site from mid | ** Attack B site from mid | ||
** CT aggressively push from lower tunnel | |||
** CT aggressively push top mid | |||
* de_inferno | * de_inferno | ||
** A short to A site | ** A short to A site | ||
Line 109: | 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 | **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 | * de_overpass | ||
** Attack B site from B long | ** Attack B site from B long | ||
Line 118: | 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 123: | 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. | ||
'''''Adjust default settings''''' | |||
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: +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. | |||
#Apply behavior tree to improve bot AI logic. | |||
#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. | |||
Latest revision as of 12:11, 12 September 2024
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
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.
PreFire Update
When updating, simply click on this button and the new update will be installed.
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):
- Create prefire profiles for all maps.
- Apply behavior tree to improve bot AI logic.
- 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.
Source: https://github.com/lengran/OpenPrefirePrac
Download: https://github.com/lengran/OpenPrefirePrac/releases
CS2 Server: https://www.ckras.com/
(PreFire needs CounterStrikeSharp)