Skip to content
NordBots.
Back to RollTheDice

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.

Open the configuration editorPrefer clicking to typing? Build the file with sliders and toggles.

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.
  }
}