{"name":"Arma 3: Mission Voting","title":"Arma 3: Mission Voting","type":"topic","url":"https://community.bistudio.com/wiki/Arma_3:_Mission_Voting","revid":378798,"updated":"2026-06-17T09:21:38Z","aliases":["Arma 3: Mission voting"],"markdown":"Arma 3 v1.40\n\nDocumentation for server-side voting settings.\n\n### Global Voting Settings\n\nGlobal voting settings are used if no voting threshold defined in allowedVoteCmds or/and allowedVotedAdminCmds\n\n```cpp\nvoteThreshold = <number>;        // Percentage of votes needed to confirm a vote.\nvoteMissionPlayers = <number>;    // Start mission-voting when ''X'' numberOfPlayers connect.\n```\n\n### Advanced Voting Settings\n\n#### Format\n\n**allowedVoteCmds[] = { {** *<commandName>*, *<preMissionStart>*, *<postMissionStart>*, *<votingThreshold>* **}, ... };**, where:\n\n- *<commandName>*: String - name of the command, for example `\"admin\"`\n- *<preMissionStart>* (Optional): Boolean - true to allow command before mission start. Default: true\n- *<postMissionStart>* (Optional): Boolean - true to allow command after mission start. Default: true\n- *<votingThreshold>* (Optional): Number - voting threshold 0...1. Default: value assigned to `voteThreshold` param. Otherwise 0.5\n- *<percentSideVotingThreshold>* (Optional): Number - percent side threshold 0...1. Default: 0.5 (since Arma 3 1.90+ PerformaceBranch)\n\n> [!NOTE]\n> Not using/specifying *allowedVoteCmds[]* param at all means every voting command is allowed!\n\n#### Examples\n\n```cpp\nallowedVoteCmds[] = {}; // voting is disabled (not a single command is allowed)\n```\n\n```cpp\nallowedVoteCmds[] =\n{\n    { \"admin\" },                                // will default to {\"admin\", true, true, 0.5}\n    { \"missions\",    true,    false, 0.5 },        // not available after mission start\n    { \"mission\",    true,    true },                // will use global {{hl|voteThreshold}}\n    { \"kick\",        false,    false, 0.75 },        // not available at all\n    { \"restart\",    true,    true, -1 },            // invalid threshold value. Will default to global {{hl|voteThreshold}}\n    { \"reassign\",    false,    true, 0.5 },        // not available before mission start\n    { \"kick\",        true,    true, 0.55, 0.30 }    // means kicked in case either 55% of all players\n                                                // or 30% of players from his side (west, east, resistance, civilian) voted to kick him\n};\n```\n\n#### allowedVotedAdminCmds\n\n**Definition of available commands for voted-in admins (this doesn't affect abilities of normal server admins):**\n\n```cpp\nallowedVotedAdminCmds[] = { { \"CMD1\", pre-init, post-init }, { \"CMD2\", pre-init, post-init }, ... , { \"CMDn\", pre-init, post-init } };\n```\n\nSecond and third parameter are optional. If not specified otherwise, they are true by default. (pre-init means prior to mission start, post-init means after a mission started)\n\n> [!IMPORTANT]\n> - Not listing any command (`allowedVotedAdminCmds[] = {};`) means such commands are disabled for voted-in admin.\n> - Not specifing allowedVotedAdminCmds at all means everything is allowed anytime for voted-in admin!\n\nCommands available for voted admins:\n\n```cpp\nallowedVotedAdminCmds[] =\n{\n    { \"mission\",    true, true },\n    { \"missions\",    true, true },\n    { \"restart\",    true, true },\n    { \"reassign\",    true, true },\n    { \"kick\",        true, true }\n};\n```\n\n### See Also\n\n- server config\n- Server Configuration\n- Armed Assault:Dedicated Server\n- ArmA: Server Side Scripting\n- Operation Flashpoint: Dedicated Server\n- Arma 3: Headless Client\n- Arma 3: Server Security\n- Arma: Mission rotation\n- Arma 2 Mission Rotation\n- Arma 2 OA: Multiple Mission Parameters Configuration","sections":[{"heading":null,"level":1,"markdown":"Arma 3 v1.40\n\nDocumentation for server-side voting settings."},{"heading":"Global Voting Settings","level":3,"markdown":"Global voting settings are used if no voting threshold defined in allowedVoteCmds or/and allowedVotedAdminCmds\n\n```cpp\nvoteThreshold = <number>;        // Percentage of votes needed to confirm a vote.\nvoteMissionPlayers = <number>;    // Start mission-voting when ''X'' numberOfPlayers connect.\n```"},{"heading":"Advanced Voting Settings","level":3,"markdown":""},{"heading":"Format","level":4,"markdown":"**allowedVoteCmds[] = { {** *<commandName>*, *<preMissionStart>*, *<postMissionStart>*, *<votingThreshold>* **}, ... };**, where:\n\n- *<commandName>*: String - name of the command, for example `\"admin\"`\n- *<preMissionStart>* (Optional): Boolean - true to allow command before mission start. Default: true\n- *<postMissionStart>* (Optional): Boolean - true to allow command after mission start. Default: true\n- *<votingThreshold>* (Optional): Number - voting threshold 0...1. Default: value assigned to `voteThreshold` param. Otherwise 0.5\n- *<percentSideVotingThreshold>* (Optional): Number - percent side threshold 0...1. Default: 0.5 (since Arma 3 1.90+ PerformaceBranch)\n\n> [!NOTE]\n> Not using/specifying *allowedVoteCmds[]* param at all means every voting command is allowed!"},{"heading":"Examples","level":4,"markdown":"```cpp\nallowedVoteCmds[] = {}; // voting is disabled (not a single command is allowed)\n```\n\n```cpp\nallowedVoteCmds[] =\n{\n    { \"admin\" },                                // will default to {\"admin\", true, true, 0.5}\n    { \"missions\",    true,    false, 0.5 },        // not available after mission start\n    { \"mission\",    true,    true },                // will use global {{hl|voteThreshold}}\n    { \"kick\",        false,    false, 0.75 },        // not available at all\n    { \"restart\",    true,    true, -1 },            // invalid threshold value. Will default to global {{hl|voteThreshold}}\n    { \"reassign\",    false,    true, 0.5 },        // not available before mission start\n    { \"kick\",        true,    true, 0.55, 0.30 }    // means kicked in case either 55% of all players\n                                                // or 30% of players from his side (west, east, resistance, civilian) voted to kick him\n};\n```"},{"heading":"allowedVotedAdminCmds","level":4,"markdown":"**Definition of available commands for voted-in admins (this doesn't affect abilities of normal server admins):**\n\n```cpp\nallowedVotedAdminCmds[] = { { \"CMD1\", pre-init, post-init }, { \"CMD2\", pre-init, post-init }, ... , { \"CMDn\", pre-init, post-init } };\n```\n\nSecond and third parameter are optional. If not specified otherwise, they are true by default. (pre-init means prior to mission start, post-init means after a mission started)\n\n> [!IMPORTANT]\n> - Not listing any command (`allowedVotedAdminCmds[] = {};`) means such commands are disabled for voted-in admin.\n> - Not specifing allowedVotedAdminCmds at all means everything is allowed anytime for voted-in admin!\n\nCommands available for voted admins:\n\n```cpp\nallowedVotedAdminCmds[] =\n{\n    { \"mission\",    true, true },\n    { \"missions\",    true, true },\n    { \"restart\",    true, true },\n    { \"reassign\",    true, true },\n    { \"kick\",        true, true }\n};\n```"},{"heading":"See Also","level":3,"markdown":"- server config\n- Server Configuration\n- Armed Assault:Dedicated Server\n- ArmA: Server Side Scripting\n- Operation Flashpoint: Dedicated Server\n- Arma 3: Headless Client\n- Arma 3: Server Security\n- Arma: Mission rotation\n- Arma 2 Mission Rotation\n- Arma 2 OA: Multiple Mission Parameters Configuration"}],"categories":["Arma 3: Multiplayer","Introduced with Arma 3 version 1.40"],"groups":["Multiplayer and Server"]}