- Требуемый плагин
-
Includes 4 Plugins [Recoil Training Ground, Recoil Pattern Generator , Game Mode Manager , Inventory Loadout]
Game Mode Manager
Game Mode Manager is the core and mother plugin of Recoil Training Ground minigames and possibly more.It contains all the general logic that minigames depend on, such as entrance points management, arenas management, spawn points, score system, players loadouts, lobby, and more.
This plugin alone doesn't do much. It's a backbone and communication bridge meant for connecting minigame components with each other and managing them, making them more compatible with other plugins and easier to maintain or extend in the future.
So before obtaining any minigame package, you will always need this core plugin and its dependencies for it to utilize. Each minigame may also have its own dependencies that work alongside the rest of the system.
With all bundles combined, you can create your new UKN server almost from all aspects.
The development of these plugins has taken months, which included extensive testing, bug fixes, and countless adjustments to make them as ideal and optimized as possible for server performance.
Keep in mind these plugins are still under continuous development, and there're many planned features and enhancements to add over time.
Permissions
- gamemodemanager.admin - Allows using the admin setup commands of the lobby and all minigame plugins.
- gamemodemanager.ignore - Allows admins to bypass the inventory lock and safe area radius of spawn points (Grant this permission when creating loadouts)
- gamemodemanager.vanish.bypass - Allows admins to be visible in all active matches (Useful when creating multiple matches on the same island)
Console Commands
- lobby.show - Shows all created lobbies and arenas connected to them, including enabled and disabled spawn points, entrance points, safe areas, zones and more.
- lobby.help - Prints a list of available commands.
- lobby.create <Lobby Name> <Zone ID> - Creates a lobby.
- lobby.edit <Lobby ID> - Starts editing the lobby.
- lobby.done - Stops editing the lobby and disables any further changes to it.
- lobby.delete <Lobby ID> - Deletes the lobby.
- lobby.set <Key> <Value> [<Key> <Value>] [<Key> <Value>] - Sets values for the edited lobby.
- lobby.set.help - Prints a list of available keys for editing the lobby.
- lobby.delete.spawn <Spawn Point Name> - Deletes a lobby spawn point.
- lobby.allow <add/remove> <Lobby ID> <Steam ID> - Adds or removes player to the whitelist.
- lobby.ban <add/remove> <Lobby ID> <Steam ID> - Adds or removes a player from the blacklist.
You can navigate through the previously executed commands by using the arrow keys ▲ ▼
Lobby Creation
Every game starts with the lobby and ends with it.- First of all, grant yourself the permission gamemodemanager.admin to be able to use the setup commands.
- Create a zone using Zone Manager and then create the lobby using the command lobby.create <Lobby Name> <Zone ID>
Lobby Spawn Points
Upon creating a lobby with spawn points, the Rust default spawning areas on the map are automatically disabled.- Create one spawn point or several inside the lobby using the command lobby.set spawn <Position>
- You can also adjust some other options of the spawn point from the GameModeManager.json data file.
- To remove a spawn point, use the command lobby.delete.spawn <Spawn Point Name>
Lobby Loadout
To create a kit that players obtain when joining or spawning in the lobby, we will use the Inventory Loadout plugin.- Equip your inventory with the items you want the loadout to have, and then use the command /loadout.save <Loadout Name>
- Head to the GameModeManager.json data file and add the created loadout name, or use the command lobby.set loadout <Loadout Name>
? Tip
- If you want to view the loadout you created, use the command /loadout.take <Loadout Name> which allows you to obtain it manually.
- To edit an existing loadout, use the command /loadout.save <Loadout Name> and save it with the same name.
- List all created loadouts using the command /loadout.list
Lobby Whitelist Mode
The whitelist mode allows you to restrict lobby access to specific players, which can be helpful for special events or maintenance times. This feature also works as a server access whitelist.- You can enable the whitelist mode in the GameModeManager.json data file or by using the command lobby.set restrict <true / false>
- Whitelist players using lobby.allow <add / remove> <Lobby ID> <Steam ID>
- Blacklist players using lobby.ban <add / remove> <Lobby ID> <Steam ID>
Main Lobby
By default, the first lobby created will always be the main lobby, which makes players teleport to it on connect and on respawn all the time. The main lobby is also used for teleportation if the plugin fails to find other lobbies.You can have multiple lobbies created, but it's preferable to have only one.
Lobby Flags
The lobby has some built-in rules by default which are- Players cannot suicide or deal damage to themselves or others (That includes fall damage)
- Players Metabolism reset when they spawn or teleport to or from the lobby.
- Wear inventories are locked for all players, making them unable to drop or change their given lobby kit (This also applies to Recoil Training Ground minigames)
Inventory Loadout
Inventory Loadout is a better and lighter alternative than the Rust Kits plugin to create and save loadouts, used by Recoil Training Ground minigames.Commands
- /loadout.save <Loadout Name> - Creates the loadout.
- /loadout.take <Loadout Name> - Equips the loadout.
- /loadout.list - Lists all created loadouts.
Loadout Creation
Creating a loadout for any minigame plugin is the same.- First of all, equip your inventory with the items you want the loadout to have and when you're ready, use the command /loadout.save <Loadout Name>
- All created loadouts are saved in the InventoryLoadout.json data file.
? Note
The plugin saves the weapons as they are and in the exact position in the inventory. Whether they are damaged, have attachments, or loaded ammo, they get held too, which also applies to clothes and other items.Loadout Edit
- To edit or update a loadout, use the command /loadout.save <Loadout Name> and save the new loadout with the same name
?Tip
When creating loadouts, grant yourself the gamemodemanager.ignore permission to bypass the inventory lock.Recoil Training Ground
Practice and improve your aim on stationary and moving targets provided with a recoil pattern display of your spray.Console Commands
- rtg.help - Prints a list of available commands.
- rtg.create <Training Ground Name> <Zone ID> [<Entrance Trigger Radius>] - Creates a training ground.
- rtg.edit <Training Ground ID> - Starts editing the training ground.
- rtg.done - Stops editing the training ground and disables any further changes to it.
- rtg.delete <Training Ground ID> - Deletes the training ground.
- rtg.set player.sp <Position> - Creates player spawn point.
- rtg.bot.add <Bot Name> <Bots Count> - Creates bot profile.
- rtg.bot.remove <Bot Name> - Removes bot profile.
- rtg.set.spawn <Position> [<Bot Name>] [<Spawn Radius>] [<Spawn Chance>] - Creates bot spawn point.
- rtg.delete.spawn <Spawn Point Name> - Deletes bot spawn point
- rtg.set <Key> <Value> [<Key> <Value>] - Sets values for the edited training ground.
- rtg.set.help - Prints a list of available keys for editing the training ground.
- rtg.allow <add/remove> <Training Ground ID> <Steam ID> - Adds or removes a player from the whitelist.
- rtg.ban <add/remove> <Training Ground ID> <Steam ID> - Adds or removes a player from the blacklist
Training Ground Creation
Before starting and considering that you already have the core plugin, create a lobby as explained in the Game Mode Manager setup guide.- Now that you've created the lobby, make a zone using Zone Manager on the island where you want the training ground.
- Begin editing the lobby to which you will connect the training ground using lobby.edit <Lobby ID>
- Use lobby.show to view the lobby ID.
?Note
By default, the first created lobby will always come with the ID 1001, and each match or training ground connected to it will inherit its ID.- Next, stand inside the lobby and precisely where you want the entrance trigger since the plugin will consider your position the entry point to the training ground.
- Create the training ground using rtg.create <Training Ground Name> <Zone ID> [<Entrance Trigger Radius>]
The [<Entrance Trigger Radius>] stands for the radius that teleports the player to the training ground when stepping into it. - Upon creating the training ground, the plugin will automatically teleport you to it.
Players Spawn Point
Each training ground has only one spawn point for players.- Begin editing the lobby to which the training ground is connected using the command lobby.edit <Lobby ID> and then use rtg.edit <Training Ground ID> to edit the training ground.
?Note
You can always skip the step above if you're already in edit mode.- Stand in the location where you want to create the spawn point inside the training ground and use the command rtg.set player.sp <Position>
- You can replace the <Position> either with a coordinate X, Y, Z, or here, which passes your current location automatically.
- To get your current coordinate, use the command server.printpos in the console.
"x": -1567.846,
"y": 5.005183,
"z": -1569.577
},
Players Loadout
To create a kit that players obtain when joining the training ground, we will use the Inventory Loadout plugin.- Equip your inventory with the items you want the loadout to have, and then use the command /loadout.save <Loadout Name>
- Head to the RecoilTrainingGround.json data file and add the created loadout name.
? Tip
- If you want to view the loadout you created, use the command /loadout.take <Loadout Name> which allows you to obtain it manually.
- To edit an existing loadout, use the command /loadout.save <Loadout Name> and save it with the same name.
- List all created loadouts using the command /loadout.list
Training Ground Bots
You can have as many bot profiles as you want for each training ground with different spawn points, loadouts, health, movement speed, and other settings for each bot separately.Bots Creation
- Start by creating profiles for the bots using the command rtg.bot.add <Bot Name> <Bots Count>
- You can also manually duplicate the bots' profiles from the RecoilTrainingGround.json data file but make sure to give each profile a unique name.
{
"Bot Name": "garry",
"Bot Count": 10
},
{
"Bot Name": "helk",
"Bot Count": 10
}
],
- Head to the config and add the bot you created under the "Bots List". This is where you can adjust their movement speed, health, loadout, and other settings.
{
"Name": "Garry",
"Loadout": "Garry",
"Minimum Movement Speed": 3.0,
"Maximum Movement Speed": 7.0,
"Restrict To Named Spawn Point": false,
"Infinitive Health": false
},
Bots Spawn Points
Bots won't appear in the training ground before creating spawn points for them.- Decide where you want the bot spawn point to be in the training ground, and then use the command rtg.set.spawn <Position> [<Bot Name>] [<Spawn Radius>] [<Spawn Chance>]
- You can replace the <Position> either with a coordinate X, Y, Z, or here, which passes your current location automatically.
- To get your current coordinate, use the command server.printpos <Steam ID> in the console.
- If you don't specify the bot name in the command, all bots will share this spawn point. However, the "Restrict To Named Spawn Point" must be disabled for this to work.
- If you want to restrict the spawn point to a specific bot, enable "Restrict To Named Spawn Point" and specify the bot name in the command.
"Restrict To Named Spawn Point": true,
- The [<Spawn Chance>] determines the probability of the bot spawning at the spawn point after it gets killed.
- The [<Spawn Radius>] determines two things, the scope in which the bots can randomly spawn and their movement range.
{
"Spawn - Bot Name": "garry",
"Spawn - Enabled": true,
"Spawn - Name": "SP_001",
"Spawn - Location": {
"x": -1595.184,
"y": 5.00518656,
"z": -1589.92676
},
"Spawn - Radius": 100.0,
"Spawn - Chance": 100
}
],
Now, if you join the training ground, you'll notice that the bots have begun to spawn and move.
? Note
Never edit the spawn point names. They're named and given specific IDs automatically by Game Mode ManagerBots Loadouts
Like the last time, create loadouts for the bots as you did for players.- Assign the loadout to the bot in the RecoilTrainingGround.json config file.
{
"Name": "Garry",
"Loadout": "Garry",
},
You can adjust the bots' movement speed from the RecoilTrainingGround.json config file.
- To get your bots to standing still and without movement, set the speed values to zero.
"Maximum Movement Speed": 7.0,
?Tip
Setting different values for "Minimum Movement Speed" and "Maximum Movement Speed" gives natural and randomized movement for your bots.Bots Health
Make your bots immune by enabling "Infinitive Health". Useful for recoil practicing on the bots that don't move."Infinitive Health": true
Training Ground Performance Mode
By default, bots spawn when the player joins the training ground, and they get networked only to that player. But when this option is enabled, all players inside the training ground will share the same bots, which means the plugin won't spawn bots for each player separately.This mode can be enabled for each training ground separately.
"Performance Mode - Enabled": true,
Recoil Pattern Generator
Helps to capture and generate recoil and anti-recoil patterns of any weapon with any attachments accurately.Recoil Pattern Creation
Before you begin, the patterns are affected by any attachments attached to the weapon. Therefore the generated pattern for a gun with an attachment is different from a gun without one. So you may have to create different patterns for the same weapon but with various attachments to get all viable, accurate patterns.- Prepare the weapon for which you want to create the recoil pattern.
- After you equip the weapon with its desired attachments, use the command recoil.ready and start firing without any gun control five times in a row at least.
- Upon using the command, you'll notice the plugin has locked your belt inventory to prevent moving or dropping the weapon.
? Note
Only one admin can generate patterns at the same time.- When you finish, generate the pattern by using the command recoil.generate
- The plugin will print on the console detailed data of the pattern before generating and saving it.
[Recoil Pattern Generator] Max shots: 30
[Recoil Pattern Generator] 0: 0,14,13,32,50,51,44,37,17,0,-16,-31,-44,-51,-51,-45,-34,-19,-2,6,30,52,66,75,80,75,61,42,26,7
[Recoil Pattern Generator] 1: 0,14,12,24,41,51,44,33,17,0,-14,-30,-40,-48,-51,-45,-36,-27,-7,10,30,52,66,75,80,76,65,49,29,10
[Recoil Pattern Generator] 2: 0,11,12,19,43,51,44,35,19,3,-14,-32,-44,-51,-51,-45,-34,-21,-7,15,29,51,65,75,80,75,61,41,26,6
[Recoil Pattern Generator] AVG: 0,13,12,25,45,51,44,35,18,1,-15,-31,-43,-50,-51,-45,-35,-22,-5,10,30,52,66,75,80,75,62,44,27,8
- The plugin now will automatically use the average or median of shots to reach the best result of the pattern.
- You can find the patterns you generated in the RecoilPatternGenerator.json data file, and to use them in the training ground, copy them to RecoilTrainingGround.json under the "Recoils" list.
{
"Recoils": [
{
"Weapon Short Name": "ak47u.entity",
"Attachments": [],
"Recoil Points": [
0,
14,
12,
27,
46,
51,
44,
33,
17,
0,
-16,
-32,
-44,
-51,
-51,
-45,
-34,
-19,
-3,
14,
33,
52,
66
]
}
]
}
- Your spray pattern will remain displayed on the recoil board as long as you're firing with the gun, but as soon as you stop, your recoil points will reset.
?Note
The recoil board and statistics will only work if there are patterns added to the "Recoils" list.Pattern Customization
You can modify the symbol, color, and size of the pattern from the RecoilTrainingGround.json config file. That includes separate settings for both successful and missed shots, giving you more freedom in customizing the look of your pattern board."Symbol - Original Weapon Pattern": "⦿",
"Symbol - Hit": "⦿",
"Symbol - Miss": "⦿",
"Color - Original Weapon Pattern": "#ffffff",
"Color - Hit": "#00ff00",
"Color - Miss": "#ff0000",
"Font - Original Weapon Pattern": 10,
"Font - Hit": 10,
"Font - Miss": 10,
Shot Tolerance
"Hit - Max Tolerance": 10,The "Max Tolerance" stands for the ignorable amount of the missed hit.
Let's say the position of the recoil point X is 5, and your shot X landed at 9. In that case, the plugin will ignore the difference "Tolerance" and accept your shot as a successful hit.