Please note that the current scoring system does not simulate the actual scoring systems.
Bowling
Term
Description
Strike
When all 10 pins are knocked down with one ball
Spare
All 10 pins are knocked down with 2 consecutive balls
Game
A game consists of 10 frames per person
Frame
A frame consists of up to two deliveries, except that the 10th frame consists of up to 3 deliveries
Double
Occurs when 2 strikes in a row are bowled
Turkey
Occurs when 3 strikes in a row are bowled
Four Bagger
Occurs when 4 strikes in a row are bowled
x Bagger
Occurs when x strikes in a row are bowled
Features
Feature
Description
Skill
This gamemode requires skills to score strikes and spares. Put your Loose Cannon skills to the test.
Lanes
Every map can only support up to 2 lanes. As each lane has 10 pins each, the maximum number of players per server is 12. Each lane will support 6 players. You can only join a lane while a match is not in progress.
Party
When joining a lane, the match will start after the waiting for players period is over or when everyone in the lane is ready.
Live Scoreboard
Scores are tracked throughout a match. The live scores are shown on the right side.
Strikes and Spares
When a player scores a strike or spare, everyone on the server will be notified!
Inactive Detection
When a player is AFK, the player will be kicked from a lane automatically if they do not roll for 3 frames.
Map Support
We made supporting other bowling maps as easy as possible. Each map needs a configuration of different coordinates such as the where the pins are in each lane, and where the players are teleported to when they play. You can easily get the coordinates with the built-in commands.
Commands and ConVars
Public Commands
Command
Description
Parameters
sm_bhelp
Get information for the bowling gamemode.
-
sm_join, sm_lane, sm_lanes, sm_bowl
Opens the lane selection menu.
<lane_number> to join a lane
sm_r, sm_ready
Ready up while in a lane.
-
sm_leave
Leave a lane.
-
Admin Commands
Command
Description
Parameters
sm_teleport
Used to teleport a player to where you are pointing at. Use this to setup your pins.
-
sm_getpos
Used to print the coordinates of all pins from either lanne 1 or 2. Use this after setting up the positions using sm_teleport.
-
ConVars
ConVar
Description
Default Value
Minimum Value
Maximum Value
bowling_maxplayers
Sets the maximum players per lane.
6
1
1
bowling_wfp_time
Sets the maximum waiting for players time.
120
10
600
bowling_roll_time
Sets the maximum time allowed for players to roll their ball. Prevents a troll delaying.
10
50
60
bowling_inactive_strikes
Sets the number of inactive strikes before the player is kicked from idling.
3
1
10
Map Configuration
Use the built in commands sm_teleport and sm_getpos to help you get the coordinates.
"Bowling"
{
"bowl_alley_rc1" // this is the map name
{
//
// ========================================================================================================================
// Player Positions
// ========================================================================================================================
//
"Players"
{
// the xyz positions to teleport to when it is the player's turn to play
// lane 1
"lane1_playingpos_x" "65.201431"
"lane1_playingpos_y" "1791.190551"
"lane1_playingpos_z" "2.031250"
// the xyz positions to teleport to when it is the player's turn to play
// lane 2
"lane2_playingpos_x" "-633.743835"
"lane2_playingpos_y" "1792.109252"
"lane2_playingpos_z" "2.031250"
// the xyz positions to teleport to when the player has just finished his turn
// lane 1
"lane1_exitpos_x" "66.068328"
"lane1_exitpos_y" "1612.255249"
"lane1_exitpos_z" "0.031250"
// the xyz positions to teleport to when the player has just finished his turn
// lane 2
"lane2_exitpos_x" "-638.619934"
"lane2_exitpos_y" "1612.123901"
"lane2_exitpos_z" "0.031250"
}
//
// ========================================================================================================================
// Pin Positions
// ========================================================================================================================
//
"Pins"
{
// the xyz angles positions that pins will look at
// lane 1
"lane1_anglepos_x" "-0.346446"
"lane1_anglepos_y" "-89.998428"
"lane1_anglepos_z" "0.000000"
// the xyz angles positions that pins will look at
// lane 2
"lane2_anglepos_x" "-0.230963"
"lane2_anglepos_y" "-89.882896"
"lane2_anglepos_z" "0.000000"
// the xyz positions to spawn pins at
// lane 1
"lane1_pin1pos_x" "72.639099"
"lane1_pin1pos_y" "2687.895263"
"lane1_pin1pos_z" "0.031250"
"lane1_pin2pos_x" "95.112854"
"lane1_pin2pos_y" "2744.845458"
"lane1_pin2pos_z" "0.031250"
"lane1_pin3pos_x" "47.192626"
"lane1_pin3pos_y" "2744.845458"
"lane1_pin3pos_z" "0.031250"
"lane1_pin4pos_x" "119.276855"
"lane1_pin4pos_y" "2792.455078"
"lane1_pin4pos_z" "0.031250"
"lane1_pin5pos_x" "73.345581"
"lane1_pin5pos_y" "2792.455078"
"lane1_pin5pos_z" "0.031250"
"lane1_pin6pos_x" "28.412414"
"lane1_pin6pos_y" "2792.455078"
"lane1_pin6pos_z" "0.031250"
"lane1_pin7pos_x" "142.741516"
"lane1_pin7pos_y" "2846.986816"
"lane1_pin7pos_z" "0.031250"
"lane1_pin8pos_x" "91.407653"
"lane1_pin8pos_y" "2846.986816"
"lane1_pin8pos_z" "0.031250"
"lane1_pin9pos_x" "39.171752"
"lane1_pin9pos_y" "2846.986816"
"lane1_pin9pos_z" "0.031250"
"lane1_pin10pos_x" "-8.980102"
"lane1_pin10pos_y" "2846.986816"
"lane1_pin10pos_z" "0.031250"
// the xyz positions to spawn pins at
// lane 2
"lane2_pin1pos_x" "-646.124450"
"lane2_pin1pos_y" "2687.895263"
"lane2_pin1pos_z" "0.031250"
"lane2_pin2pos_x" "-610.471008"
"lane2_pin2pos_y" "2744.845458"
"lane2_pin2pos_z" "0.031250"
"lane2_pin3pos_x" "-665.804260"
"lane2_pin3pos_y" "2744.845458"
"lane2_pin3pos_z" "0.031250"
"lane2_pin4pos_x" "-601.630004"
"lane2_pin4pos_y" "2792.455078"
"lane2_pin4pos_z" "0.031250"
"lane2_pin5pos_x" "-642.486938"
"lane2_pin5pos_y" "2792.455078"
"lane2_pin5pos_z" "0.031250"
"lane2_pin6pos_x" "-684.339782"
"lane2_pin6pos_y" "2792.455078"
"lane2_pin6pos_z" "0.031250"
"lane2_pin7pos_x" "-572.653350"
"lane2_pin7pos_y" "2846.986816"
"lane2_pin7pos_z" "0.031250"
"lane2_pin8pos_x" "-618.972167"
"lane2_pin8pos_y" "2846.986816"
"lane2_pin8pos_z" "0.031250"
"lane2_pin9pos_x" "-663.770446"
"lane2_pin9pos_y" "2846.986816"
"lane2_pin9pos_z" "0.031250"
"lane2_pin10pos_x" "-711.663635"
"lane2_pin10pos_y" "2846.986816"
"lane2_pin10pos_z" "0.031250"
}
}
}
To Do
Better point calculation to match real-life bowling point systems
Support for only 1 pin config and automatically generate the coordinates for the other 9 pins