Skip to content

Latest commit

 

History

History
52 lines (35 loc) · 2.06 KB

File metadata and controls

52 lines (35 loc) · 2.06 KB

preview.png

Online Buzz Controllers

We were trying to play the classic PlayStation 2 quiz game Buzz! online, over the internet. While the PCsX2 emulator has multiplayer plugin, it seemed to only support an old version. It turned out easier to have a single host run the game, share their screen via Discord, then run this webapp for each player's input.

The web app emulates button presses via the uinput Python library and presents itself to the host system as a gamepad device (WebBuzzPad Gamepad).

Requirements

  • Tested with Python 3.8
  • python-uinput
    (Linux-only, since uinput is a Linux kernel module) Tested on Ubuntu
  • Flask
  • Flask-SocketIO
  • Tested with the PCSX2 1.7 emulator.

Install with:

sudo apt install python3-pip python3-dev libudev-dev
pip install flask flask-socketio python-uinput

How to use

  1. Run the server on the host machine (easiest in development mode):

    sudo flask --app app run --debug --host=0.0.0.0 --port=5000
  2. Open the host’s IP address in a browser on each player’s device. Example: http://192.168.0.10:5000

  3. Players join by entering a name and selecting a player slot (1–4).

  4. Have players press each button in turn to map the controller to the PCSX2's emulated Buzz Controller. Below is the default mapping

Each player’s coloured buttons are mapped to a unique set of uinput keys:

Player Red Blue Orange Green Yellow
1 BTN_0 BTN_2 BTN_3 BTN_4 BTN_5
2 BTN_6 BTN_7 BTN_8 BTN_9 BTN_DPAD_DOWN
3 BTN_DPAD_UP BTN_C BTN_DPAD_LEFT BTN_START BTN_X
4 BTN_A BTN_B BTN_BACK BTN_SELECT BTN_Z

These can be changed from app.py.

  1. Ensure PCSX2 is configured to read from standard gamepads. Then run Buzz! and share screen on a service like Discord.