FinishZone
FinishZone is a server-side V Rising mod for creating customizable finish zones for events such as races, mazes, or puzzles.
About this mod Author’s original text
FinishZone
FinishZone is a server-side V Rising mod that allows administrators to create finish zones for events such as races, mazes, or puzzles, and includes commands for manually giving reward sets to players.
Features
- Create finish zones using simple in-game chat commands.
- Broadcast global completion messages.
- Grant rewards only on a player’s first completion of each zone.
- Apply a cooldown to prevent the same player from repeatedly triggering the same zone too quickly.
- Finish zones track players only. Admin-authenticated users are excluded and will not trigger zones.
- Log all completions to a CSV file for history tracking.
- Display recorded winners using an in-game command.
- Reload zone data from file without restarting the server.
- Includes commands for manually giving reward sets to players.
Requirements
- BepInEx 1.733.2
- VampireCommandFramework 0.10.4
Installation
- Install the required dependencies.
- Place FinishZone.dll into your server's BepInEx plugins folder.
- Start the server once to generate the config files.
- Create your finish zone with.finish add
- Edit finishzones.json if you want to customize rewards, messages, or vertical settings.
- Use.finish reload or restart the server after making file changes.
How It Works
- FinishZone continuously checks player positions against all enabled finish zones.
- The checking frequency is controlled by LoopIntervalSeconds in finishzones.json. Use 0.2–1.0 for precision-based activities and 1.0–2.0 for less precision-sensitive activities.
- When a player enters a finish zone, the server broadcasts a completion message.
- Rewards are granted only the first time a player completes a finish zone.
- A cooldown prevents repeated triggering in a short period.
- Every completion is recorded in finish_log.csv.
- AdminAuth users do not trigger finish zones. Please use AdminDeAuth before testing.
Commands
Player Commands
-.finishers or.winners
- Show the recorded finishers from finish_log.csv
Admin Commands
-.finish add
- Create a new finish zone at your current position.
- Shortcut:.finish a
- Example:.finish add Maze 5
-.finish update
- Update the position and radius of an existing finish zone at your current position.
- Shortcut:.finish u
- Example:.finish update Maze 8
-.finish remove
- Remove a finish zone.
- Shortcut:.finish rm
- Example:.finish remove maze
-.finish reload
- Reloads all finish zones from finishzones.json
- Shortcut:.finish rl
-.finish list
- Displays all finish zones, status, and mod settings.
- Shortcut:.finish l
-.finish on
- Enable a specific finish zone.
- Example:.finish on maze
-.finish off
- Disable a specific finish zone.
- Example:.finish off maze
-.finish enable
- Enables the FinishZone mod globally.
-.finish disable
- Disables the FinishZone mod globally.
-.rewards add
- Add an item to a reward set.
- Shortcut:.rewards a
- Example:.rewards add Potion 429052660 10
-.rewards remove
- Remove a reward set.
- Shortcut:.rewards rm
- Example:.rewards remove potion
-.rewards give [player]
- Give a reward set to a player. If no player is provided, the reward set is given to yourself.
- Shortcut:.rewards g [player]
- Example:.rewards give potion Del
-.rewards reload
- Reload rewards.json from disk.
- Shortcut:.rewards rl
-.rewards list
- Show all reward sets and their items.
- Shortcut:.rewards l
Config Files
After the first server start, the following files will be created:
- BepInEx/config/FinishZone/finishzones.json
- BepInEx/config/FinishZone/finish_log.csv
- BepInEx/config/FinishZone/rewards.json
- BepInEx/config/FinishZone/rewards_log.csv
finishzones.json
Example:
{
"ModEnabled": true,
"LoopIntervalSeconds": 1,
"Zones": {
"The Maze": {
"Position": [
-424.5694,
9.700005,
-312.78476
],
"Radius": 5,
"VerticalLimit": 1,
"Message": "Find the way to the top of the castle! Type.tp 1 to join",
"RewardPrefab": 576389135,
"RewardName": "Great
Install & use Install: BepInEx plugin
- The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
- Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
- Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
- Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.
Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file.
Install these first, or the mod will not work: