Video
Included with Purchase
Plugin Download
Instant access to the plugin file (.dll)
Future Updates
All updates and fixes at no extra cost
Developer Support
Help through our forum and Discord
Optional: Source Code
Add-on in cart for an additional fee
Readme
Battlepass
A plugin for Unturned servers that adds a battle pass system with daily/weekly missions, rewards, and level progression.
Workshop
This plugin requires the Battlepass UI from the Workshop.
Workshop ID: 3241394031
Features
- Daily and weekly missions that refresh automatically
- Level progression system
- Customizable rewards for each level
- VIP-exclusive rewards
- Comprehensive mission tracking system
- Custom UI for players
Commands
/battlepass
- Opens the battle pass UI
Permissions
<Permission Cooldown="0">battlepass</Permission>
<Permission Cooldown="0">battlepass.vip</Permission>
The battlepass.vip
permission allows players to claim VIP-only rewards.
Configuration Guide
Basic Settings
Debug
- Enable detailed logging (true/false)MessageColor
- Color for system messagesIconUrl
- Default icon for the battle passEffectId
- UI effect ID (default: 28422)ConnectionString
- MySQL database connection detailsUpdateMissionsTime
- Time when missions refresh (24h format, e.g., "18:00")UpdateWeeklyMissionsDay
- Day when weekly missions refresh (e.g., "Monday")DailyMissionsAmount
- Number of daily missions to generateWeeklyMissionsAmount
- Number of weekly missions to generate
Levels and Rewards
Each level requires a certain number of points to reach and offers a reward:
<Level Level="1">
<LevelPoints>100</LevelPoints>
<Reward Name="Maplestrike" ItemId="363" IconUrl="https://i.imgur.com/F8xb2hg.png" />
</Level>
Reward Types
ItemId
- Give a specific item (use item ID)ItemAmount
- Number of items to give (default: 1)VehicleId
- Spawn a vehicleMoneyAmount
- Give currency (requires Uconomy)ExperienceAmount
- Give experience pointsCommand
- Execute a command (use , , as placeholders)VIPOnly
- Make reward exclusive to VIP players (true/false)Items
- Give multiple items
Example of a multi-item reward:
<Reward Name="Forest Military Clothing" IconUrl="https://i.imgur.com/6Xkry21.png">
<Items>
<Item Id="307" Name="Forest Military Shirt" Amount="1" />
<Item Id="308" Name="Forest Military Bottom" Amount="1" />
<Item Id="309" Name="Forest Military Helmet" Amount="1" />
<Item Id="310" Name="Forest Military Vest" Amount="1" />
</Items>
</Reward>
Mission Targets
Zombie Targets
ZombieKill
- Kill any zombieMegaZombieKill
- Kill mega zombiesBossZombieKill
- Kill boss zombiesRadioactiveZombieKill
- Kill radioactive zombiesBurnerZombieKill
- Kill burner zombiesSprinterZombieKill
- Kill sprinter zombiesCrawlerZombieKill
- Kill crawler zombiesSpiritZombieKill
- Kill spirit zombiesAcidZombieKill
- Kill acid zombies
Player Targets
PlayerKill
- Kill any playerPlayerKillWithMelee
- Kill players with melee weaponsPlayerKillWithGun
- Kill players while you are using any gunPlayerKillFromDistance
- Kill players from specified distance (TypeValue="100" for 100 meters)PlayerKillWithItem
- Kill players with specific item (TypeValue="300" for Shadowstalker)PlayerKillWithPunch
- Kill players with fistsPlayerKillWithVehicle
- Kill players with vehiclesPlayerKillHeadshot
- Kill players with headshotsPlayerKillWithGrenade
- Kill players with grenadesPlayerDeath
- When player dies
Animal Targets
AnimalKill
- Kill any animalAnimalKillWithId
- Kill specific animal type (TypeValue="6" for cows)AnimalKillFromDistance
- Kill animals from specific distance (TypeValue="100" for 100 meters)AnimalKillWithIdAndFromDistance
- Kill specific animals from distance (TypeValue="6" TypeValue2="100" for cows from 100m)
Resource Targets
ResourceGather
- Gather any resourceResourceGatherWithId
- Gather specific resource (TypeValue="6" for Metal Scrap)ResourceGatherWithTool
- Gather with specific tool (TypeValue="490" for Chainsaw)ResourceGatherContainsName
- Gather resources with name (TypeValue="Birch" for birch trees)ResourceGatherTree
- Cut down trees
Other Targets
FishCatch
- Catch fishAirdropOpen
- Open airdropsAirdropOpenWithId
- Open specific airdrop (TypeValue="1374" for Carepackage)ItemFindWithId
- Find specific item (TypeValue="333" for Binoculars)ArenaWin
- Win in arena
Example Mission Configurations
<!-- Kill 5 zombies -->
<Target Type="ZombieKill" Amount="5" />
<!-- Kill 1 player from at least 100 meters away -->
<Target Type="PlayerKillFromDistance" TypeValue="100" Amount="1" />
<!-- Kill 1 player with Shadowstalker (Item ID: 300) -->
<Target Type="PlayerKillWithItem" TypeValue="300" Amount="1" />
<!-- Cut down 3 birch trees -->
<Target Type="ResourceGatherContainsName" TypeValue="Birch" Amount="3" />
<!-- Kill 3 cows (Animal ID: 6) -->
<Target Type="AnimalKillWithId" TypeValue="6" Amount="3" />
<!-- Kill 2 cows from at least 100 meters away -->
<Target Type="AnimalKillWithIdAndFromDistance" TypeValue="6" TypeValue2="100" Amount="2" />
Icons for Rewards
When adding icons for rewards and missions:
- Use square images (recommended minimum size: 500x500 pixels)
- Upload them to an image hosting service like Imgur or ImgBB
- Use the direct image URL in the
IconUrl
field
Developer API
The plugin provides an API for other plugins to interact with the battle pass system:
// Increase a player's level points
BattlepassAPI.IncreaseLevelPoints(player, 50);
// Get a player's current level
LevelConfig currentLevel = BattlepassAPI.GetCurrentLevel(player, out int levelPoints);
// Get a player's missions
IEnumerable<BattlepassMissionData> missions = BattlepassAPI.GetMissions(player);
Credits
- plotnikovivan for the original idea
- soer for UI design assistance
Default Configuration
<?xml version="1.0" encoding="utf-8"?>
<BattlepassConfiguration xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Debug>false</Debug>
<MessageColor>yellow</MessageColor>
<IconUrl>https://i.imgur.com/a8UsScu.png</IconUrl>
<EffectId>28422</EffectId>
<ConnectionString>Server=myServerAddress;Port=3306;Database=myDataBase;Uid=myUsername;Pwd=myPassword;</ConnectionString>
<BattlepassTableName>Battlepass</BattlepassTableName>
<BattlepassMissionsTableName>BattlepassMissions</BattlepassMissionsTableName>
<BattlepassClaimedRewardsTableName>BattlepassClaimedRewards</BattlepassClaimedRewardsTableName>
<UpdateMissionsTime>18:00</UpdateMissionsTime>
<UpdateWeeklyMissionsDay>Monday</UpdateWeeklyMissionsDay>
<DailyMissionsAmount>4</DailyMissionsAmount>
<WeeklyMissionsAmount>6</WeeklyMissionsAmount>
<Levels>
<Level Level="1">
<LevelPoints>100</LevelPoints>
<Reward Name="Maplestrike" ItemId="363" IconUrl="https://i.imgur.com/F8xb2hg.png" />
</Level>
<Level Level="2">
<LevelPoints>100</LevelPoints>
<Reward Name="300 credits" MoneyAmount="300" IconUrl="https://i.imgur.com/hPmo0km.png" />
</Level>
<Level Level="3">
<LevelPoints>100</LevelPoints>
<Reward Name="Honeybadger" ItemId="116" IconUrl="https://i.imgur.com/t8r1Y0F.png" />
</Level>
<Level Level="4">
<LevelPoints>100</LevelPoints>
<Reward Name="$500 credits" MoneyAmount="500" IconUrl="https://i.imgur.com/3RhfONv.png" />
</Level>
<Level Level="5">
<LevelPoints>100</LevelPoints>
<Reward Name="Forest Military Clothing" IconUrl="https://i.imgur.com/6Xkry21.png">
<Items>
<Item Id="307" Name="Forest Military Shirt" Amount="1" />
<Item Id="308" Name="Forest Military Bottom" Amount="1" />
<Item Id="309" Name="Forest Military Helmet" Amount="1" />
<Item Id="310" Name="Forest Military Vest" Amount="1" />
</Items>
</Reward>
</Level>
<Level Level="6">
<LevelPoints>150</LevelPoints>
<Reward Name="+500 experience" ExperienceAmount="500" IconUrl="https://i.imgur.com/1pVfYSJ.png" />
</Level>
<Level Level="7">
<LevelPoints>150</LevelPoints>
<Reward Name="Rocket Launcher" VIPOnly="true" ItemId="519" IconUrl="https://i.imgur.com/Wwbe7WN.png" />
</Level>
<Level Level="8">
<LevelPoints>150</LevelPoints>
<Reward Name="$1,000 credits" MoneyAmount="1000" IconUrl="https://i.imgur.com/xagTQ98.png" />
</Level>
<Level Level="9">
<LevelPoints>150</LevelPoints>
<Reward Name="x2 Rockets" VIPOnly="true" ItemId="520" ItemAmount="2" IconUrl="https://i.imgur.com/eJrWWxO.png" />
</Level>
<Level Level="10">
<LevelPoints>150</LevelPoints>
<Reward Name="Hawkhound" ItemId="109" IconUrl="https://i.imgur.com/qEF4WP2.png" />
</Level>
<Level Level="11">
<LevelPoints>200</LevelPoints>
<Reward Name="Blue Hatchback" ItemAmount="0" VehicleId="10" IconUrl="https://i.imgur.com/Dov6tot.png" />
</Level>
<Level Level="12">
<LevelPoints>200</LevelPoints>
<Reward Name="Maxskills" Command="/maxskills {steamid}" IconUrl="https://i.imgur.com/NBYLA1O.png" />
</Level>
<Level Level="13">
<LevelPoints>200</LevelPoints>
<Reward Name="$1,000 credits" MoneyAmount="1000" IconUrl="https://i.imgur.com/xagTQ98.png" />
</Level>
<Level Level="14">
<LevelPoints>200</LevelPoints>
<Reward Name="Forest APC" VIPOnly="true" VehicleId="53" IconUrl="https://i.imgur.com/oq6Ib7M.png" />
</Level>
</Levels>
<DailyMissions>
<DailyMission Name="Zombie Hunter">
<Description>Kill 5 zombies</Description>
<RewardPoints>20</RewardPoints>
<Target Type="ZombieKill" Amount="5" />
<IconUrl>https://i.imgur.com/caJSMT2.png</IconUrl>
</DailyMission>
<DailyMission Name="Zombie Hunter">
<Description>Kill 15 zombies</Description>
<RewardPoints>30</RewardPoints>
<Target Type="ZombieKill" Amount="15" />
<IconUrl>https://i.imgur.com/caJSMT2.png</IconUrl>
</DailyMission>
<!-- More missions in the full configuration file -->
</DailyMissions>
<WeeklyMissions>
<WeeklyMission Name="Zombie Hunter">
<Description>Kill 50 zombies</Description>
<RewardPoints>50</RewardPoints>
<Target Type="ZombieKill" Amount="50" />
<IconUrl>https://i.imgur.com/caJSMT2.png</IconUrl>
</WeeklyMission>
<WeeklyMission Name="Zombie Hunter">
<Description>Kill 100 zombies</Description>
<RewardPoints>100</RewardPoints>
<Target Type="ZombieKill" Amount="100" />
<IconUrl>https://i.imgur.com/caJSMT2.png</IconUrl>
</WeeklyMission>
<!-- More missions in the full configuration file -->
</WeeklyMissions>
</BattlepassConfiguration>
Default Translations
<?xml version="1.0" encoding="utf-8"?>
<Translations xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Translation Id="VIPRewardClaimMessage" Value="You need VIP to claim this reward!" />
<Translation Id="DailyMissionCompletedMessage" Value="You have completed daily mission [[b]]{0}![[/b]]" />
<Translation Id="WeeklyMissionCompletedMessage" Value="You have completed weekly mission [[b]]{0}![[/b]]" />
<Translation Id="ReachedNewLevelMessage" Value="You have reached level [[b]]{0}![[/b]]" />
<Translation Id="ClaimedRewardMessage" Value="You have claimed reward [[b]]{0}![[/b]]" />
<Translation Id="UI_Title" Value="BATTLEPASS" />
<Translation Id="UI_CloseButtonText" Value="CLOSE" />
<Translation Id="UI_LevelsButtonText" Value="LEVELS AND AWARDS" />
<Translation Id="UI_MissionsButtonText" Value="DAILY/WEEKLY MISSIONS" />
<Translation Id="UI_DailyMissionsTitle" Value="DAILY MISSIONS (UPDATE IN {0})" />
<Translation Id="UI_WeeklyMissionsTitle" Value="WEEKLY MISSIONS (UPDATE IN {0})" />
<Translation Id="UI_RewardClaimButtonText" Value="CLAIM" />
<Translation Id="UI_RewardVIPClaimButtonText" Value="CLAIM" />
<Translation Id="UI_RewardClaimedText" Value="CLAIMED" />
<Translation Id="UI_RewardVIPClaimedText" Value="CLAIMED" />
<Translation Id="UI_PrevRewardButtonText" Value="<" />
<Translation Id="UI_NextRewardButtonText" Value=">" />
<Translation Id="UI_MissionRewardFormat" Value="+{0} LVL POINTS" />
<Translation Id="Day" Value="1 day" />
<Translation Id="Days" Value="{0} days" />
<Translation Id="Hour" Value="1 hour" />
<Translation Id="Hours" Value="{0} hours" />
<Translation Id="Minute" Value="1 minute" />
<Translation Id="Minutes" Value="{0} minutes" />
<Translation Id="Second" Value="1 second" />
<Translation Id="Seconds" Value="{0} seconds" />
<Translation Id="Zero" Value="a moment" />
</Translations>