Skip to content

playfields:

This is a config file reference. Click for instructions.

This page is reference material which explains every setting and option for this section of an MPF yaml config file. See the instructions for config files for formatting and other details. See our guide to config file examples for more examples of real configs in action.

Valid in
machine config files YES ✅
mode config files NO 🚫

The playfields: section of your config is where you configure your playfields in your machine. You can have multiple playfields and MPF will track balls per playfield. One playfield should contain the tag default so that the game knows which playfield to use.

Required settings

The following sections are required in the playfields: section of your config:

default_source_device:

Single value, type: string name of a ball_devices: device. Defaults to empty.

The source ball device to use to feed balls to this playfield. This source device must be able to eject directly to the playfield. Usually this is your launcher ball device. If you do not have a launcher use the trough device.

Optional settings

The following sections are optional in the playfields: section of your config. (If you don't include them, the default will be used).

ball_search_block_events:

List of one (or more) device control events (Instructions for entering device control events). Default: flipper_cradle

Event to block ball search. Used by flipper cradle.

ball_search_disable_events:

List of one (or more) device control events (Instructions for entering device control events). Defaults to empty.

Event to disable ball search.

ball_search_enable_events:

List of one (or more) device control events (Instructions for entering device control events). Defaults to empty.

Event to enable ball search.

ball_search_failed_action:

Single value, type: string. Default: new_ball

When ball search failed this action is taken. Either new_ball which will eject a new ball from the default default source device or end_game which will end the game.

ball_search_interval:

Single value, type: time string (ms) (Instructions for entering time strings). Default: 150ms

The delay after each fired coil/searched device.

ball_search_phase_1_searches:

Single value, type: integer. Default: 3

Ball search will run in multiple phases with increasing intensity. For instance, in phase 1, only ball devices without a ball will be pulsed. This defines how many time phase 1 is repeated until ball_search proceeds to phase 2.

ball_search_phase_2_searches:

Single value, type: integer. Default: 3

Ball search will run in multiple phases with increasing intensity. For instance, in phase 2, all ball devices except the trough will try to dejam. This defines how many time phase 2 is repeated until ball_search proceeds to phase 3.

ball_search_phase_3_searches:

Single value, type: integer. Default: 4

Ball search will run in multiple phases with increasing intensity. For instance, in phase 3, all ball devices except the trough pulse their coil. This defines how many time phase 3 is repeated until ball search gives up.

ball_search_timeout:

Single value, type: time string (ms) (Instructions for entering time strings). Default: 15s

ball_search_timeout configures the time of inactivity which has to pass until ball search starts.

ball_search_unblock_events:

List of one (or more) device control events (Instructions for entering device control events). Default: flipper_cradle_release

Event to unblock ball search. Used by flipper cradle.

ball_search_wait_after_iteration:

Single value, type: time string (ms) (Instructions for entering time strings). Default: 5s

Extra delay after each iteration.

Single value, type: boolean (true/false). Defaults to empty.

Enable ball_search by default. Use with care during development since coils may hurt you. Should be enabled in any production machine.

console_log:

Single value, type: one of the following options: none, basic, full. Default: basic

Log level for the console log for this device.

debug:

Single value, type: boolean (true/false). Default: false

Turn on/off debugging.

file_log:

Single value, type: one of the following options: none, basic, full. Default: basic

Log level for the file log for this device.

label:

Single value, type: string. Default: %

Label for service menu.

tags:

List of one (or more) values, each is a type: string. Defaults to empty.

Set tag default to your default playfield. The game will use the default playfield to eject balls.


Something missing or wrong? You can fix it!

This website is edited by people like you! Is something wrong or missing? Is something out of date, or can you explain it better?

Please help us! You can fix it yourself and be an official "open source" contributor!

It's easy! See our Beginner's guide to editing the docs.

Page navigation via the keyboard: < >

You can navigate this site via the keyboard. There are two modes:

General navigation, when search is not focused:

  • F , S , / : open search dialog
  • P , , : go to previous page
  • N , . : go to next page

While using the search function:

  • Down , Up : select next / previous result
  • Esc , Tab : close search
  • Enter : go to highlighted page in the results