FinishZone
FinishZone is a server-side V Rising mod for creating customizable finish zones for events such as races, mazes, or puzzles.
| Last updated | 5 hours ago |
| Total downloads | 1 |
| Total rating | 0 |
| Categories | Server Mods Oakveil Update |
| Dependency string | GGs-FinishZone-1.0.0 |
| Dependants | 0 other packages depend on this package |
This mod requires the following mods to function
BepInEx-BepInExPack_V_Rising
BepInEx pack for V Rising. Preconfigured and includes Unity Base DLLs.
Preferred version: 1.733.2deca-VampireCommandFramework
Command framework for developers to easily create universal commands for their plugins.
Preferred version: 0.10.4README
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
Installation
- Install the required dependencies.
- Place
FinishZone.dllinto your server's BepInEx plugins folder. - Start the server once to generate the config files.
- Create your finish zone with
.finish add <id> <radius> - Edit
finishzones.jsonif you want to customize rewards, messages, or vertical settings. - Use
.finish reloador 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
LoopIntervalSecondsinfinishzones.json. Use0.2–1.0for precision-based activities and1.0–2.0for 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. AdminAuthusers do not trigger finish zones. Please useAdminDeAuthbefore testing.
Commands
Player Commands
.finishersor.winners- Show the recorded finishers from finish_log.csv
Admin Commands
-
.finish add <id> <radius>- Create a new finish zone at your current position.
- Shortcut: .finish a <id> <radius>
- Example: .finish add Maze 5
-
.finish update <id> <radius>- Update the position and radius of an existing finish zone at your current position.
- Shortcut: .finish u <id> <radius>
- Example: .finish update Maze 8
-
.finish remove <id>- Remove a finish zone.
- Shortcut: .finish rm <id>
- 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 <id>- Enable a specific finish zone.
- Example: .finish on maze
-
.finish off <id>- 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 <setname> <prefabguid> <amount>- Add an item to a reward set.
- Shortcut: .rewards a <setname> <prefabguid> <amount>
- Example: .rewards add Potion 429052660 10
-
.rewards remove <setname>- Remove a reward set.
- Shortcut: .rewards rm <setname>
- Example: .rewards remove potion
-
.rewards give <setname> [player]- Give a reward set to a player. If no player is provided, the reward set is given to yourself.
- Shortcut: .rewards g <setname> [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.jsonBepInEx/config/FinishZone/finish_log.csvBepInEx/config/FinishZone/rewards.jsonBepInEx/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": "Greater Stygian Shards",
"RewardAmount": 1000,
"ZoneEnabled": true
}
}
}
rewards.json
Example:
{
"Winner": [
{
"Item": -1461326411,
"Amount": 20
},
{
"Item": -1021407417,
"Amount": 20
}
],
"Potion": [
{
"Item": 429052660,
"Amount": 10
},
{
"Item": 800879747,
"Amount": 10
}
]
}
Credits
- odjit and zfolmt for the original code and assistance with this mod.
- V Rising modding community
License
This project is licensed under the AGPL-3.0 license.
Notes
- This mod was first made for my own server and originally ran through KindredCommands. It has now been separated into a standalone mod so that everyone can use it.
- If you have any problems or run into bugs, please report them to me in the V Rising Modding Community Del (delta_663)