RollTheDice configuration
The RollTheDice config.json controls how the plugin runs on your Ark Survival Ascended server. Every setting is listed below with what it does and its default value.
Where it lives
Drop the file on your server at ArkApi/Plugins/RollTheDice/config.json then reload the plugin or restart the server. Keep a backup before large changes.
Every setting
General
- Debug togglefalse
- Debug: set to true to write extra lines to ArkApi.log. Handy when something is not working and you want to see why. Leave false for normal play.
- AutosaveSeconds number30
- AutosaveSeconds: how often the game saves player stats and the jackpot to disk. 30 means every 30 seconds. A smaller number saves more often but touches the disk more. 30 is a good pick for most servers.
Commands
Commands: the words players type in chat to use the game. You can rename any of them. Set one to "" (empty) to turn that command off.
- RollCMD text"/roll"
- play the game. Type /roll <bet>. You can also add a target, like /roll 100 75.
- FreeCMD text"/rollfree"
- one free roll each day. No points needed.
- StatsCMD text"/rollstats"
- show your wins, losses, and win streak.
- JackpotCMD text"/rolljackpot"
- show how big the jackpot is right now.
- VerifyCMD text"/rollverify"
- show the fair play seed so players can check the rolls are honest.
Game
Game: the rules and numbers that shape how the game plays.
- MinBet number10
- MinBet and MaxBet: the smallest and biggest number of points a player can bet.
- MaxBet number5000
- WinThreshold number50
- WinThreshold: every roll is a number from 1 to 100. In the normal mode, a player wins if their roll is this number or higher. 50 gives about a coin flip. A higher number makes wins rarer.
- ClassicMultiplier decimal1.9
- ClassicMultiplier: how much a normal win pays. 1.9 means a 100 point bet pays back 190 points on a win. Keep it under 2.0 so the house keeps a small edge and the point economy stays healthy.
- HouseEdge decimal0.03
- HouseEdge: the small cut the server takes in target mode. 0.03 means 3 percent. Bigger numbers make target mode pay less and protect your economy more.
- JackpotNumber number100
- JackpotNumber: roll this exact number to win the whole jackpot pool. 100 is the rarest roll, so the jackpot is hard to hit. That keeps it exciting.
- JackpotContributionPct decimal0.05
- JackpotContributionPct: each time a player loses a bet, this share of that bet is added to the jackpot pool. 0.05 means 5 percent. This grows the jackpot over time.
- JackpotSeed number1000
- JackpotSeed: the jackpot resets to this many points right after someone wins it. So the pool is never empty.
- MaxPayout number250000
- MaxPayout: the most points a single win can ever pay. This is a safety cap so one lucky player can not drain your whole economy in one roll.
- RollCooldownSeconds number30
- RollCooldownSeconds: how long a player must wait between paid rolls. This stops spam and protects your economy. VIP players can get a shorter wait (see Tiers).
- FreeRollReward number50
- FreeRollReward: how many points a player wins if their daily free roll wins.
- StreakMilestones list[3,5,10]
- StreakMilestones and StreakBonusPct: reward win streaks. When a player wins this many times in a row, their next win pays a bonus. The two lists line up by spot. Below: 3 wins in a row gives 10 percent extra, 5 gives 25 percent, 10 gives 50 percent.
- StreakBonusPct list[0.1,0.25,0.5]
Tiers
Tiers: special limits for players in a permission group (needs the Permissions plugin). A player who has the RollTheDice.Vip permission gets these numbers instead of the normal Game numbers. Here VIPs can bet more and wait less between rolls.
- RollTheDice.Vip group
- MaxBet number25000
- RollCooldownSeconds number10
Database
Database: where the game saves player stats and the jackpot. Right now the game saves to a simple file (data.json) next to the plugin. These options are ready for the MySQL and SQLite backend, which is coming next.
- UseMySQL togglefalse
- false uses a local file. true uses a MySQL server (fill in the rows below).
- Host text"127.0.0.1"
- the address of your MySQL server.
- Port number3306
- the MySQL port. 3306 is the normal one.
- User textempty
- your MySQL user name.
- Password textempty
- your MySQL password.
- Database textempty
- the name of the MySQL database to use.
- TablePrefix text"rtd_"
- the start of each table name, like rtd_players.
- SQLiteDatabasePath textempty
- leave blank to use the default file. Only used when UseMySQL is false.
Permissions
Permissions: lock the game to certain players or groups (needs the Permissions plugin). Groups and nodes: RollTheDice.Play (can play), RollTheDice.Vip (better limits), RollTheDice.NoCooldown (no wait), RollTheDice.Admin (can use admin commands). If the Permissions plugin is not installed, everyone can play.
- Enabled toggletrue
ArkShop
ArkShop: use ArkShop points as the bet and the prize (needs the ArkShop plugin). If ArkShop is not installed, the game gives each player their own points to play with.
- Enabled toggletrue
Discord
Discord: post game news to a Discord channel with a webhook.
- Enabled togglefalse
- you MUST set this to true or nothing will send.
- WebhookURL textempty
- paste the full webhook link from Discord here.
- AlertWebhookURL textempty
- a second webhook for odd or unfair looking events. Leave blank to use the main one.
- Username text"RollTheDice"
- the name the bot uses when it posts.
- ServerName textempty
- your server name. It shows at the bottom of each post.
- MinEventToLog number0
- only post a paid win if it paid at least this many points. 0 posts them all.
- LogFreeRolls toggletrue
- post free roll results too. These are low volume, one per player per day.
The full commented config
This is a reading copy with notes. It is not valid JSON, so do not load it. Use the editor or the plain config.json instead.
{
// This file explains every setting in config.json.
// It has notes in it, so it is NOT valid JSON. Do not load this file.
// Edit config.json instead. This file is just here to help you.
"General": {
// Debug: set to true to write extra lines to ArkApi.log. Handy when
// something is not working and you want to see why. Leave false for normal play.
"Debug": false,
// AutosaveSeconds: how often the game saves player stats and the jackpot to
// disk. 30 means every 30 seconds. A smaller number saves more often but
// touches the disk more. 30 is a good pick for most servers.
"AutosaveSeconds": 30
},
// Commands: the words players type in chat to use the game.
// You can rename any of them. Set one to "" (empty) to turn that command off.
"Commands": {
"RollCMD": "/roll", // play the game. Type /roll <bet>. You can also add a target, like /roll 100 75.
"FreeCMD": "/rollfree", // one free roll each day. No points needed.
"StatsCMD": "/rollstats", // show your wins, losses, and win streak.
"JackpotCMD": "/rolljackpot",// show how big the jackpot is right now.
"VerifyCMD": "/rollverify" // show the fair play seed so players can check the rolls are honest.
},
// Game: the rules and numbers that shape how the game plays.
"Game": {
// MinBet and MaxBet: the smallest and biggest number of points a player can bet.
"MinBet": 10,
"MaxBet": 5000,
// WinThreshold: every roll is a number from 1 to 100. In the normal mode, a
// player wins if their roll is this number or higher. 50 gives about a coin flip.
// A higher number makes wins rarer.
"WinThreshold": 50,
// ClassicMultiplier: how much a normal win pays. 1.9 means a 100 point bet
// pays back 190 points on a win. Keep it under 2.0 so the house keeps a small edge
// and the point economy stays healthy.
"ClassicMultiplier": 1.9,
// HouseEdge: the small cut the server takes in target mode. 0.03 means 3 percent.
// Bigger numbers make target mode pay less and protect your economy more.
"HouseEdge": 0.03,
// JackpotNumber: roll this exact number to win the whole jackpot pool. 100 is the
// rarest roll, so the jackpot is hard to hit. That keeps it exciting.
"JackpotNumber": 100,
// JackpotContributionPct: each time a player loses a bet, this share of that bet
// is added to the jackpot pool. 0.05 means 5 percent. This grows the jackpot over time.
"JackpotContributionPct": 0.05,
// JackpotSeed: the jackpot resets to this many points right after someone wins it.
// So the pool is never empty.
"JackpotSeed": 1000,
// MaxPayout: the most points a single win can ever pay. This is a safety cap so one
// lucky player can not drain your whole economy in one roll.
"MaxPayout": 250000,
// RollCooldownSeconds: how long a player must wait between paid rolls. This stops
// spam and protects your economy. VIP players can get a shorter wait (see Tiers).
"RollCooldownSeconds": 30,
// FreeRollReward: how many points a player wins if their daily free roll wins.
"FreeRollReward": 50,
// StreakMilestones and StreakBonusPct: reward win streaks. When a player wins this
// many times in a row, their next win pays a bonus. The two lists line up by spot.
// Below: 3 wins in a row gives 10 percent extra, 5 gives 25 percent, 10 gives 50 percent.
"StreakMilestones": [3, 5, 10],
"StreakBonusPct": [0.1, 0.25, 0.5]
},
// Tiers: special limits for players in a permission group (needs the Permissions plugin).
// A player who has the RollTheDice.Vip permission gets these numbers instead of the
// normal Game numbers. Here VIPs can bet more and wait less between rolls.
"Tiers": {
"RollTheDice.Vip": { "MaxBet": 25000, "RollCooldownSeconds": 10 }
},
// Database: where the game saves player stats and the jackpot.
// Right now the game saves to a simple file (data.json) next to the plugin.
// These options are ready for the MySQL and SQLite backend, which is coming next.
"Database": {
"UseMySQL": false, // false uses a local file. true uses a MySQL server (fill in the rows below).
"Host": "127.0.0.1", // the address of your MySQL server.
"Port": 3306, // the MySQL port. 3306 is the normal one.
"User": "", // your MySQL user name.
"Password": "", // your MySQL password.
"Database": "", // the name of the MySQL database to use.
"TablePrefix": "rtd_", // the start of each table name, like rtd_players.
"SQLiteDatabasePath": "" // leave blank to use the default file. Only used when UseMySQL is false.
},
// Permissions: lock the game to certain players or groups (needs the Permissions plugin).
// Groups and nodes: RollTheDice.Play (can play), RollTheDice.Vip (better limits),
// RollTheDice.NoCooldown (no wait), RollTheDice.Admin (can use admin commands).
// If the Permissions plugin is not installed, everyone can play.
"Permissions": { "Enabled": true },
// ArkShop: use ArkShop points as the bet and the prize (needs the ArkShop plugin).
// If ArkShop is not installed, the game gives each player their own points to play with.
"ArkShop": { "Enabled": true },
// Discord: post game news to a Discord channel with a webhook.
"Discord": {
"Enabled": false, // you MUST set this to true or nothing will send.
"WebhookURL": "", // paste the full webhook link from Discord here.
"AlertWebhookURL": "", // a second webhook for odd or unfair looking events. Leave blank to use the main one.
"Username": "RollTheDice", // the name the bot uses when it posts.
"ServerName": "", // your server name. It shows at the bottom of each post.
"MinEventToLog": 0, // only post a paid win if it paid at least this many points. 0 posts them all.
"LogFreeRolls": true // post free roll results too. These are low volume, one per player per day.
}
}