The Mission Pinball Framework
Initializing search
Website source on GitHub
Getting Started
Hardware
Game Programming
Media Controller
Tools
Reference
Showcase
Community
About
The Mission Pinball Framework
Website source on GitHub
Getting Started
Getting Started
Features
Philosophy
Config Files
The Media Controller
Installation
Installation
Quickstart
Migrating to 0.80
Big changes in 0.57
Virtual Environments
Mac
Windows
Linux
Linux
Raspberry Pi
Pine64
Xubuntu Linux
Virtual Machine
Virtual Machine
Why use a VM
Setup Guide
Running MPF
Running MPF
MPF command launcher
Commands
Commands
mpf both
mpf core
mpf diagnosis
mpf game
mpf (default)
mpf mc
mpf imc
mpf migrate
mpf monitor
mpf hardware
mpf service
mpf build
mpf test
mpf format
Changing TCP ports
Troubleshooting
Troubleshooting
Working with Log Files
Attaching A Debugger to MPF
Debugging Memory Leaks
Reading MPF Errors
Debugging Segfaults
Debugging YAML Parse Errors
Debugging MPF installation problems
YAML Error on first start
Hardware
Hardware
Concepts
Concepts
Understanding Hardware Rules
Hardware Numbering Schemes
Mixing Platforms
Troubleshooting Platforms
Working with real pinball machines
Working with real pinball machines
Homebrew / New Machine
Existing / Re-theme
Existing / Re-theme
Bally/Williams WPC
Bally/Williams System 11
Stern SPIKE/SPIKE 2
Bally/Williams Pinball 2000
Williams System 3 to 9
Gottlieb System 80
Gottlieb System 1
Stern SAM
Stern Whitestar Machines
Data East
Bally/Stern w/ AS-2518-17/35 MPU
Pinball Controllers
Pinball Controllers
What's a pinball controller?
FAST Pinball
FAST Pinball
Connecting FAST to your Computer
Installing hardware drivers & configuring COM ports
Switches
Coils/Drivers/Magnets/Motors
Flippers, Slingshots, Pop Bumpers, and other "quick response" devices
LEDs
Matrix Lights
Traditional (single color) DMDs
RGB DMDs
Servos
Power Filter Board
Troubleshooting
Open Pinball Project (OPP)
Open Pinball Project (OPP)
Troubleshooting OPP
OPP LEDs
OPP Lights
Configuring your machine for OPP
OPP coils / drivers
Connecting OPP to your computer
OPP Switches
CobraPin segments
CobraPin Pinball Controller powered by OPP
OPP EM Combo boards
P-ROC/P3-ROC
P-ROC/P3-ROC
Connecting
Installing Hardware Drivers
Setting the platform
Switches (P-ROC)
Switches (P3-ROC)
Coils/Drivers/Magnets/Motors
LEDs
Matrix Lights
Traditional single-color DMD (P-ROC)
RGB DMD
Alpha-numeric displays (P-ROC)
Accelerometer (P3-ROC)
I2C (P3-ROC)
Power Entry Board
Servos on PD-LED
Steppers on PD-LED
Firmware Upgrade
Troubleshooting
Linux Drivers
Mac Drivers
Windows (x64) Drivers
Windows (32-bit) Drivers
LISY platform
LISY platform
Connecting a System1/80 Machine to LISY1/80
Configuring Switches with LISY1
Configuring Switches with LISY80
Configuring Drivers in LISY
Configuring and Enabling Flippers/Pop Bumpers/Slingshots in LISY
Configuring Lights in LISY
Configuring Segment Displays in LISY
Configuring Sound in LISY
LISY Protocol
Troubleshooting LISY
Arduino Pinball Controller
Arduino Pinball Controller
connection
Stern SPIKE / SPIKE 2
Stern SPIKE / SPIKE 2
Installing the MPF SPIKE bridge on the SD card
Connecting your computer
Configuring MPF for SPIKE
Coils & Drivers
LEDs, GI, & Backbox lights
DMDs
Switches
Steppers
Troubleshooting
Penny K Pinball PKONE Platform
Penny K Pinball PKONE Platform
Connecting PKONE to your Computer
Installing hardware drivers & configuring COM ports
Switches
Coils/Drivers/Magnets/Motors
RGB/RGBW LEDs
Simple LEDs/Lights
Servos
Troubleshooting
Virtual Hardware
Virtual Hardware
Connecting Your Computer Keyboard to MPF Switches
The Virtual Platform
The Virtual Pinball (VPX) Platform
The "Smart Virtual" Platform
Virtual Segment Display Emulator
Hobbyist Maker Boards
Hobbyist Maker Boards
Using MPF with Hobbyist Maker Hardware
Snux
FadeCandy RGB LED controllers
FadeCandy RGB LED controllers
troubleshooting
Pololu Maestro
I2C Servos
Pololu Tic
SmartMatrix RGB DMD
RGB.DMD
PIN2DMD
PIN2DMD
troubleshooting
Raspberry Pi DMD
MyPinballs Segment Displays
MyPinballs Segment Displays
Wiring 3rd-Party Segment Displays
Light Segment Displays
Trinamics StepRocker
StepStick Steppers
Computer Requirements
Native I2C
Raspberry Pi
MMA8451-based accelerometer
SPI Big Bang Switches
Open Sound Control (OSC)
Understanding MPF Platforms
Understanding MPF Platforms
I2C Platforms in MPF
Servo Platforms in MPF
Stepper Platforms in MPF
Segment Display Platforms in MPF
segment_display_transitions
DMD Platforms in MPF
Physical Machine Building
Physical Machine Building
Layout Considerations
Planning Layout with CAD
Voltages and Power
Voltages and Power
Voltages and Power
Ground and Appliance Classes
Wiring and Connectors in Pinball Machines
Power Management in Software
Game Programming
Game Programming
Tutorial
Tutorial
1. Install MPF
2. Create your machine folder
3. Get flipping!
4. Adjusting your flipper power
5. Add a display
6. Add keyboard control
7. Add your trough
8. Add your plunger lane
9. Add the start button
10. Run a real game!
11. Add the rest of your coils & switches
12. Add the rest of your ball devices
13. Add "autofire" devices
14. Add your first mode
15. Add scoring
16. Add an attract mode display show
17. Add lights (or LEDs)
18. Add your first shot
19. Testing your machine
20. Next steps
Pinball Mechs
Pinball Mechs
Flippers
Flippers
Dual-wound Flippers
Single Wound Flippers
EOS Switches
Multiple Flippers
Disabling Flippers
Secondary Flippers
Delayed Flippers
Inverted Flippers
No Hold Flippers
Reversed Flippers
Weak Flippers
Switches
Switches
Debouncing in Pinball Machines
MPF Switch Controller
Switch/Opto Breakout Boards
Rollover Switches
Mechanical Switches
Proximity Switches
Reed Switches
Service and Door Switches
Optos
Start, Tournament and Launcher Buttons
Troughs / Ball Drains
Troughs / Ball Drains
Modern Trough (Optos)
Modern Trough (switches)
Stern SPIKE Trough
Classic Two-Coil (one switch)
Classic Two-Coil (multiple switches)
Classic Single Ball (no shooter lane)
Classic Single Ball
Targets
Targets
Stationary or Standup Targets
Kicking Targets
Vari Targets
Drop Targets
Drop Targets
Fixing Drop Target Reset Issues
Drop Target Bank
Plungers / Launch Devices
Plungers / Launch Devices
Plunger lanes with no ball switch
Coil-fired plungers / ball launchers
Mechanical (spring) plungers
Combo (mechanical + coil-fired) plungers
Pop Bumpers
Servos
Servos
Programming Servo Sequences
Coils (Solenoids)
Coils (Solenoids)
Adjust coil strength (pulse times)
Adjust coil hold power
Recycle / "Cool Down" Time
Dual-wound Coils
Dual-Wound versus Single-Wound coils
Magnets
Magnets
How to use the Stern Magnet Processor Board
Ball Devices
Ball Devices
Troubleshooting
Playfields
Playfields
Playfield Ball Tracking
Balls vs. Balls in Play
Playfield Transfers
Lights / LEDs
Lights / LEDs
WS2811 and WS2812 LEDs
GI (general illumination)
Flashers
LEDs
Some LEDs are Lights?!?
Coils as Lights
Matrix Lights (Bulbs)
Loops / Orbits / Ramps
Spinners
Diverters
Diverters
Up-Down Ramps
Using a Servo as Diverter
Using a Stepper as Diverter
Dual Coil Diverter
Kickback Lanes
Score Reels
Scoops / Vertical Up Kickers (VUKs) / Saucer holes
Autofire Coils
Accelerometers
Motors
Stepper Motors
Slingshot
Shakers
Tilt Bob
Game Logic
Game Logic
Achievements
Achievements
Achievement Groups
Ball Holds
Ball Locks
Ball Saves
Ball Saves
Center Post Ball Save
Ball Search
Ball Search
How to configure Ball Search
Ball Start and End Behavior
Ball Tracking
Bonus
Bonus
Configuring Bonus
Coins & Credits
Combo Switches
Extra Balls
High Scores
High Scores
High Scores in EMs
Logic Blocks
Logic Blocks
Counters
Accruals
Sequences
State Machines
Common Issues
Integrating Logic_Blocks and Slides
Integrating Logic_Blocks and Lights
Integrating Logic_Blocks and Shows
Persisting the State of a Logic Block in a Player Variable
Scoring Based on Logic Blocks
Match Mode
Modes
Modes
Tilt (mode)
Using "modes" to implement game logic
Creating your own modes
Credits (mode)
Attract (mode)
High score (mode)
Game (mode)
Multiballs
Multiballs
How to create a multiball which uses multiple lock devices
How to create an "add-a-ball" style multiball
Multiball Locks
How to create a multiball with a traditional ball lock
How to create a multiball with a virtual ball lock
Player Variables
Replays
Tilt
Tilt
Overwrite Tilt Slides
Timed Switches
Timers
Scoring
Scoring
How to implement solid state game style score queues in MPF
Service Mode
Shots
Shots
How to integrate shots with shows, lights, sounds, widgets, or slides
Sequence Shots
Shot Profiles
Grouping Shots for lane change, rotation, etc.
Skill Shot
Video Modes
Modes
Modes
Mode Selection
Wizard Modes
Ball End Modes
Game End Modes
Other Modes
Layering Modes Example
Machine Management
Machine Management
Auditor
Service Mode
Operator Settings
Testing your Game
Testing your Game
Finalization
Finalization
Enabling & fine-tuning ball search
Choosing a computer to run MPF
Controlling your machine & computer power on / power off
Fine-tuning ball device timing
Tuning Software for Production
Choosing an OS for your final machine
Fine-tuning switches
Cookbook
Cookbook
The Addams Family: Mansion Awards
Attack From Mars: Super Jets
Indiana Jones: Rollover Lanes
Batman 66: Gadgets Targets
Modifying the Game mode: Dual launch devices
Sequential Drop Banks
Skillshots with Lane Change
Skillshots with Auto-Rotate
Lighting Multiple Timed Shots at the Same Time
Implement a Mode for Top Lanes with Multiplier and Scoring
Ending the Current Game by Long-pressing Start
Mystery Awards
Lane Mode
Carousel
How to Drain All Balls on the Playfield and Serve One Back
Flowcharts
Flowcharts
MPF Boot Up / Start Up Sequence
Game Start Sequence
Ball Start Sequence
Mode Start Sequence
Mode Stop Sequence
Ball End Sequence
Media Controller
Media Controller
Displays
Displays
Concepts & Architecture
Display Types
Display Types
Types of Displays
LCD
DMD
RGB LED DMD
Applying the DMD look to a screen
Alphanumer displays
Working with Multiple Displays
Slides
Slides
Creating Slides
Showing Slides
Slide Transitions
Creating your own Media Controller
How to run MPF and the MPF-MC on different computers
The MPF Media Controller
Multiple Simultaneous Media Controller Connections
The MPF Unity BCP Server
Display Targets
How to configure a multiplayer display
How to do "Picture in Picture" display
How to configure a "split screen" display
Widgets
Widgets
Base Settings (for all widgets)
Base Settings (for all widgets)
Common Settings that Apply to All Widget Types
Adding widgets to a slide
How to animate display widgets
Bitmap Fonts
How to use DMD fonts
Easing Instructions
Easing config
Expiring (auto removing) widgets
Working with Fonts
Widget Keys
Widget layers, z-order, & parent frames
Widget Opacity & Transparency
How to position widgets on slides
How to create reusable widgets
Widget Styles
Types of Widgets
Widgets versus Slides: When to use each?
Text
Text
Dynamic Text
Text Strings
Image
Video
Bezier Curve
Display (put one display inside another)
Display (put one display inside another)
Effects
Ellipse
Line
Points
Quad
Rectangle
Segment Display Emulator
Segment Display Emulator
How To Guide
Text Input
Triangle
Camera
Sound & Audio
Sound & Audio
Technical Overview
Ducking
Tracks
How to set up sound
Tips & tricks
Playing a sound with variations
Godot MC
Godot MC
Installation
Setup
Keyboard
Slides
Sound
Config Reference
Config Reference
gmc.cfg
MPFCarousel
MPFChildPool
MPFConditional
MPFConditionalChildren
MPFDisplay
MPFEventHandler
MPFLogger
MPFSlide
MPFSoundAsset
MPFTextInput
MPFVariable
MPFVideoPlayer
MPFWidget
MPFWindow
slide_player
bonus mode_settings
MPF-GMC Singleton
Guides
Guides
Base Slide and Player Vars
Animating Slides and Widgets
Random Sound Pools
Random Slide Children
Bonus Mode Slide
Tilt Mode Slide
Spanning Multiple Monitors
Display Filter Effects
Launching MPF Game with Godot
Advanced Custom Code
Tools
Tools
MPF Monitor
MPF Monitor
Installation
Running
Using MPF Monitor
Interactive MC
Service CLI
Show Creator
IDE Support
Production Config Bundler
Format And Lint Config Files
MPF Hardware Command
Run Single File Tests
Reference
Reference
Config File Reference
Config File Reference
Instructions
Instructions
How to create and understand YAML files
Understanding the #config_version setting
config_version 6 changes
Machine config files
Mode config files
Understanding the debug: setting
Overwriting config files
Case insensitivity in config files
Understanding tags
Using dynamic runtime values in config files
Device Control Events
How to enter time strings in config files
Text Templates
Specifying Colors in Config Files
Config player "express" configs
How to add lists to config files
Gamma correction in MPF
How to enter gain values in config files
"Config Player" Config Reference
"Config Player" Config Reference
blinkenlight_player:
coil_player:
display_light_player:
event_player:
flasher_player:
light_player:
queue_event_player:
queue_relay_player:
random_event_player:
score_queue_player:
segment_display_player:
show_player:
slide_player:
sound_player:
switch_player:
variable_player:
widget_player:
Device Config Reference
Device Config Reference
accelerometers:
accruals:
achievement_groups:
achievements:
assets:
autofire_coils:
ball_devices:
ball_holds:
ball_locks:
ball_routings:
ball_saves:
bcp:
bcp_connection:
bcp_server:
blinkenlights:
coil_overwrites:
coils:
color_correction_profile:
combo_switches:
config:
counter_control_events:
counters:
custom_code:
digital_outputs:
digital_score_reels:
displays:
diverters:
dmds:
drop_target_banks:
drop_targets:
dual_wound_coils:
extra_ball_groups:
extra_balls:
flippers:
game:
hardware:
info_lights:
kickbacks:
light_rings:
light_segment_displays:
light_segment_displays_device:
light_settings:
light_stripes:
lights:
logic_blocks:
logic_blocks_common:
machine:
machine_vars:
magnets:
mode:
mode_settings:
modes:
motors:
mpf:
multiball_locks:
multiballs:
named_colors:
player_vars:
playfield_transfers:
playfields:
plugins:
psus:
rgb_dmds:
score_queues:
score_reel_groups:
score_reels:
segment_displays:
sequence_shots:
sequences:
servos:
shot_control_events:
shot_groups:
shot_profiles:
shots:
show_config:
show_pools:
shows:
sound_ducking:
speedometers:
spinners:
state_machine_states:
state_machine_transitions:
state_machines:
steppers:
switch_overwrites:
switches:
timed_switches:
timer_control_events:
timers:
MPF Built-in Config Reference
MPF Built-in Config Reference
auditor:
bonus (mode_settings:)
credits:
high_score:
logging:
settings:
text_ui:
tilt:
Platform-Specific Config Reference
Platform-Specific Config Reference
fadecandy:
fast:
fast_coils:
fast_switches:
hardware_benchmark:
hardware_sound_player:
hardware_sound_systems:
kivy_config:
lisy:
mypinballs:
neoseg_displays:
open_pixel_control:
opp:
opp_coils:
osc:
p_roc:
pd_led_boards:
pin2dmd:
pkone:
pololu_maestro:
pololu_tic:
raspberry_pi:
rpi_dmd:
servo_controllers:
smart_virtual:
smartmatrix:
snux:
spi_bit_bang:
spike:
spike_node:
step_stick_stepper_settings:
system11:
tic_stepper_settings:
trinamics_steprocker:
twitch_client:
virtual_platform_start_active_switches:
vpe:
Legacy Media Controller (mpf-mc) Config Reference
Legacy Media Controller (mpf-mc) Config Reference
animations:
bitmap_fonts:
image_pools:
images:
images_frame_skips:
keyboard:
mc_custom_code:
mc_scriptlets:
mpf-mc:
playlist_player:
playlists:
slides:
sound_loop_player:
sound_loop_sets:
sound_marker:
sound_pools:
sound_system:
sound_system_tracks:
sounds:
text_strings:
track_player:
video_pools:
videos:
virtual_segment_display_connector:
widget_styles:
widgets:
window:
Deprecated Config Reference
Deprecated Config Reference
flashers:
gi_player:
gis:
led_player:
leds:
matrix_lights:
scriptlets:
Game Variables
Game Variables
balls_in_play
balls_per_game
max_players
num_players
slam_tilted
tilted
Machine Variables
Machine Variables
credit_units
credits_denominator
credits_numerator
credits_string
credits_value
credits_whole_num
fast_(x)_firmware
fast_(x)_model
(high_score_category)(position)_label
(high_score_category)(position)_name
(high_score_category)(position)_value
(high_score_category)(position)_(variable_type)_(variable)
lisy_api_version
lisy_hardware
lisy_version
mc_extended_version
mc_version
mpf_extended_version
mpf_version
p_roc_hardware_version
p_roc_revision
p_roc_version
pkone_firmware
pkone_hardware
platform
platform_machine
platform_release
platform_system
platform_version
player(x)_score
python_version
Player Variables
Player Variables
index
ball
extra_ball_(name)_awarded
extra_balls
lb
mode_timer_tick
number
random_x.y
restart_modes_on_next_ball
score
Event Reference
Event Reference
Overview
Overview
Handler Priorities
Types of Events
Conditional Events
achievement Events
achievement Events
achievement_(name)_changed_state
achievement_(name)_state_(state)
ball_device Events
ball_device Events
balldevice_(name)_ball_count_changed
balldevice_(name)_ball_eject_attempt
balldevice_(name)_ball_eject_failed
balldevice_(name)_ball_eject_success
balldevice_(name)_ball_enter
balldevice_(name)_ball_entered
balldevice_(name)_ball_missing
balldevice_(name)_broken
balldevice_(name)_ejecting_ball
balldevice_ball_missing
balldevice_balls_available
balldevice_captured_from_(captures_from)
ball_hold Events
ball_hold Events
ball_hold_(name)_balls_released
ball_hold_(name)_full
ball_hold_(name)_held_ball
ball_save Events
ball_save Events
ball_save_(name)_disabled
ball_save_(name)_enabled
ball_save_(name)_grace_period
ball_save_(name)_hurry_up
ball_save_(name)_saving_ball
ball_save_(name)_timer_start
combo_switch Events
combo_switch Events
(combo_switch)_both
(combo_switch)_inactive
(combo_switch)_one
(combo_switch)_switches_1
(combo_switch)_switches_2
flipper_cancel
display Events
display Events
display_(name)_initialized
display_(name)_ready
diverter Events
diverter Events
diverter_(name)_activating
diverter_(name)_deactivating
diverter_(name)_disabling
diverter_(name)_enabling
drop_target Events
drop_target Events
drop_target_(name)_down
drop_target_(name)_up
drop_target_bank Events
drop_target_bank Events
drop_target_bank_(name)_down
drop_target_bank_(name)_mixed
drop_target_bank_(name)_up
extra_ball Events
extra_ball Events
extra_ball_award_disabled
extra_ball_awarded
extra_ball_(name)_award_disabled
extra_ball_(name)_awarded
extra_ball_(name)_lit
extra_ball_group Events
extra_ball_group Events
extra_ball_group_(name)_award_disabled
extra_ball_group_(name)_awarded
extra_ball_group_(name)_lit
extra_ball_group_(name)_lit_awarded
extra_ball_group_(name)_unlit
High Score Events
High Score Events
high_score_enter_initials
high_score_award_display
text_input_high_score_complete
text_input_(name)_complete
score_award_display
(award_name)_award_display
(category_name)_award_display
kickback Events
kickback Events
kickback_(name)_fired
machine_var Events
machine_var Events
machine_var_(name)
magnet Events
magnet Events
magnet_(name)_flinged_ball
magnet_(name)_flinging_ball
magnet_(name)_grabbed_ball
magnet_(name)_grabbing_ball
magnet_(name)_released_ball
magnet_(name)_releasing_ball
motor Events
motor Events
motor_(name)_reached_(position)
multiball Events
multiball Events
multiball_(name)_ended
multiball_(name)_grace_period
multiball_(name)_hurry_up
multiball_(name)_lost_ball
multiball_(name)_shoot_again
multiball_(name)_shoot_again_ended
multiball_(name)_started
ball_save_(multiball_name)_add_a_ball_timer_start
ball_save_(multiball_name)_timer_start
multiball_lock Events
multiball_lock Events
multiball_lock_(name)_full
multiball_lock_(name)_locked_ball
player_var Events
player_var Events
player_(name)
player_score
playfield Events
playfield Events
(playfield_name)_active
(playfield_name)_ball_count_change
unexpected_ball_on_(playfield_name)
sw_(playfield_name)_active
playfield_transfer Events
playfield_transfer Events
playfield_transfer_(playfield_transfer)_ball_transferred
score_reel Events
score_reel Events
reel_(name)_advanced
sequence_shot Events
sequence_shot Events
(sequence_shot)_hit
shot Events
shot Events
(shot)_hit
(shot)_(profile)_hit
(shot)_(profile)_(state)_hit
(shot)_(state)_hit
shot_group Events
shot_group Events
(shot_group)_complete
(shot_group)_hit
(shot_group)_(state)_complete
(shot_group)_(state)_hit
slide Events
slide Events
slide_(name)_active
slide_(name)_created
slide_(name)_inactive
slide_(name)_removed
spinner Events
spinner Events
spinner_(name)_active
spinner_(name)_hit
spinner_(name)_idle
spinner_(name)_inactive
spinner_(name)_(label)_active
spinner_(name)_(label)_hit
switch Events
switch Events
sw_(tag)
sw_(tag)_active
sw_(tag)_inactive
(switch)_active
(switch)_inactive
switch_(name)_active
switch_(name)_inactive
timed_switch Events
timed_switch Events
(timed_switch)_active
(timed_switch)_released
flipper_cradle
flipper_cradle_release
timer Events
timer Events
timer_(name)_complete
timer_(name)_paused
timer_(name)_started
timer_(name)_stopped
timer_(name)_tick
timer_(name)_time_added
timer_(name)_time_subtracted
widget Events
widget Events
widget_(name)_active
widget_(name)_removed
Queue Events
Queue Events
machine_reset_phase_1
machine_reset_phase_2
machine_reset_phase_3
game_starting
game_ending
player_adding
player_turn_starting
player_turn_ending
ball_starting
ball_ending
mode_(name)_starting
mode_(name)_stopping
balldevice_(name)_ball_eject_attempt
Audio Management Events
Audio Management Events
master_volume_decrease
master_volume_increase
Ball Lifecycle Events
Ball Lifecycle Events
ball_drain
ball_ended
ball_ending
ball_start_target
ball_started
ball_starting
ball_will_end
ball_will_start
balls_in_play
collecting_balls
collecting_balls_complete
multi_player_ball_started
single_player_ball_started
Ball Search Events
Ball Search Events
ball_search_failed
ball_search_phase_(num)
ball_search_prevents_game_start
ball_search_started
ball_search_stopped
cancel_ball_search
BCP Events
BCP Events
bcp_clients_connected
bcp_connection_attempt
Bonus (End of Ball) Events
Bonus (End of Ball) Events
bonus_multiplier
bonus_start
bonus_subtotal
Carousel Events
Carousel Events
carousel_name_items_empty
carousel_name_item_selected
carousel_item_highlighted
Config Player Events
Config Player Events
clear
Credit Events
Credit Events
credits_added
enabling_credit_play
enabling_free_play
max_credits_reached
not_enough_credits
Game Lifecycle Events
Game Lifecycle Events
game_ended
game_ending
game_start
game_started
game_starting
game_will_end
game_will_start
request_to_start_game
shutdown
Logic Block Events (Counters, Accruals, Sequences)
Logic Block Events (Counters, Accruals, Sequences)
logicblock_(name)_complete
logicblock_(name)_hit
logicblock_(name)_updated
(logicblock_name)_timeout
Machine Reset Events
Machine Reset Events
machine_reset_phase_1
machine_reset_phase_2
machine_reset_phase_3
reset_complete
MPF Initialization Events
MPF Initialization Events
init_done
init_phase_1
init_phase_2
init_phase_3
init_phase_4
init_phase_5
loading_assets
asset_loading_complete
Match Events
Match Events
match_has_match
match_no_match
MC (Pre 0.80.x) Events
MC (Pre 0.80.x) Events
client_connected
client_disconnected
mc_ready
mc_reset_complete
mc_reset_phase_1
mc_reset_phase_2
mc_reset_phase_3
displays_initialized
Mode Lifecycle Events
Mode Lifecycle Events
mode_(name)_started
mode_(name)_starting
mode_(name)_stopped
mode_(name)_stopping
mode_(name)_will_start
mode_(name)_will_stop
Multiplayer Management Events
Multiplayer Management Events
multiplayer_game
player_add_request
player_added
player_adding
player_turn_ended
player_turn_ending
player_turn_started
player_turn_starting
player_turn_will_end
player_turn_will_start
player_will_add
Service Mode Events
Service Mode Events
service_trigger
Text Input Events
Text Input Events
text_input_(key)_abort
text_input_(key)_complete
Tilt Events
Tilt Events
slam_tilt
tilt
tilt_clear
tilt_warning
tilt_warning_(number)
Twitch Integration Events
Twitch Integration Events
twitch_bit_donation
twitch_chat_message
twitch_command
twitch_raid
twitch_subscription
Config Players Types
Config Players Types
Blinkenlight player
Coil player
Using LEDs as display (display_light_player)
Event player
Flasher player
GI (general illumination) player
Hardware Sound player
LED player
Light player
Playlist player
Queue Event player
Queue Relay player
Random event player
Segment Display player
Show player
Slide player
Sound Loop player
Sound player
Track player
Variable player
Widget player
Assets
Assets
Asset Pools
Bitmap Fonts
Images
Shows
Sounds
Videos
Shows
Shows
Show configuration format
What can you put in shows?
Creating standalone show files
Creating embedded shows in config files
Shows in shows
Using "tokens" for run-time variable replacement in shows
MPF's default shows
Starting & stopping shows
Synchronizing multiple shows
MPF Errors from Log Files
MPF Errors from Log Files
CFE-coils-1
CFE-ConfigValidator-1
CFE-ConfigValidator-2
CFE-ConfigValidator-4
CFE-ConfigValidator-6
CFE-ConfigValidator-9
CFE-ConfigValidator-12
CFE-ConfigValidator-13
CFE-DeviceManager-3
CFE-show-1
CFE-Smart_Virtual_Platform-1
CFE-Virtual_Platform-1
Log-SwitchController-1
RE-MPF-MC_BCP_Server-1
RE-MPF_BCP_Server-1
RE-P-Roc-1
RE-P-Roc-2
RE-P-Roc-3
Example Games
Example Games
Example Config from MPF Tests
MPF Examples Repo
Demo Man Example Game
MC Demo
Extending MPF with Custom Code
Extending MPF with Custom Code
Getting Started
Machine Extensions
Mode Extensions
Variables in Code
Setup Dev Env
Debugging
Writing Tests
Writing Tests
Running Tests
Writing Tests
API Reference
API Reference
Core API Reference
Core API Reference
auditor
ball_controller
bcp
device_manager
events
info_lights
light_controller
machine
mode_controller
placeholder_manager
platform_controller
service
settings
show_controller
switch_controller
switch_player
text_ui
twitch_bot
Devices API Reference
Devices API Reference
accelerometers
accruals
achievement_groups
achievements
autofires
ball_devices
ball_holds
ball_routings
ball_saves
coils
combo_switches
counters
digital_outputs
diverters
dmds
drop_target_banks
drop_targets
dual_wound_coils
extra_ball_groups
extra_balls
flippers
hardware_sound_systems
kickbacks
light_rings
light_stripes
lights
magnets
motors
multiball_locks
multiballs
playfield_transfers
playfields
psus
rgb_dmds
score_queues
score_reel_groups
score_reels
segment_displays
sequence_shots
sequences
servos
shot_groups
shot_profiles
shots
show_queues
state_machines
steppers
switches
timed_switches
timers
Modes API Reference
Modes API Reference
attract
bonus
carousel
credits
game
high_score
match
service
tilt
Hardware Platforms API Reference
Hardware Platforms API Reference
drivers
fadecandy
fast
i2c_servo_controller
light_segment_displays
lisy
mma8451
mypinballs
openpixel
opp
osc
p3_roc
p_roc
pin2dmd
pololu_maestro
pololu_tic
rpi
rpi_dmd
smart_virtual
smartmatrix
smbus2
snux
spi_bit_bang
spike
step_stick
system11
trinamics_steprocker
virtual
virtual_pinball
Config Players API Reference
Config Players API Reference
blocking_player
coil_player
event_player
flasher_player
hardware_sound_player
light_player
queue_event_player
queue_relay_player
random_event_player
score_queue_player
segment_display_player
show_player
variable_player
Testing Class API Reference
Testing Class API Reference
MockBcpClient
MpfBcpTestCase
MpfGameTestCase
MpfFakeGameTestCase
MpfMachineTestCase
MpfTestCase
TestDataManager
TestMachineController
Miscellaneous Components API Reference
Miscellaneous Components API Reference
BallSearch
FileManager
LogMixin
ModeBaseClass
Players
RGBAColor
RGBColor
Randomizer
UtilityFunctions
DataManager
DelayManager
DelayManagerRegistry
BCP Protocol Specification
BCP Protocol Specification
ball_start (BCP Command)
ball_end (BCP Command)
device (BCP Command)
error (BCP Command)
goodbye (BCP Command)
hello (BCP Command)
machine_variable (BCP Command)
mode_list (BCP Command)
mode_start (BCP Command)
mode_stop (BCP Command)
monitor_start (BCP Command)
monitor_stop (BCP Command)
player_added (BCP Command)
player_turn_start (BCP Command)
player_variable (BCP Command)
register_trigger (BCP Command)
remove_trigger (BCP Command)
reset (BCP Command)
reset_complete (BCP Command)
switch (BCP Command)
trigger (BCP Command)
Showcase
Showcase
Add your project
Community
Community
MPF Users Google Group
GitHub Discussion Group
PinDevCon
About
About
FAQs
FAQs
General
Getting Help
Installation
Building your game
MPF Versions
MPF Versions
Docs for Old MPF Versions
Understanding MPF version numbering
MPF Release Notes
MPF Road Map, Vision & Future
MPF release checklist
License & Copyright
MPF Documentation authors
Contributing to MPF's Documentation
Help us to write it
Contributing to MPF
404 - Not found
Back to top