Skip to content

About

Turn your Android or iOS phone into a wireless Xbox 360 (XInput) controller for your PC.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

PocketController-Server

PocketController Server icon

CI Latest release Open issues Last commit Stars

License: MIT Version .NET 10 Platforms Protocol

This repository is the Windows server. It turns UDP input into a virtual Xbox 360 (XInput) controller through the ViGEmBus driver. Phones connect from PocketController-App.

What this project does

server/
├── Protocol/       (48-byte packets and discovery text)
├── NetworkLayer/   (UDP listen, sessions, discovery)
├── GamepadDriver/  (virtual Xbox 360 via ViGEm)
└── MainForm        (server window)
  • Listens for 48-byte little-endian UDP controller packets. The default port is 5555.
  • Answers discovery probes on UDP 5556 and broadcasts announcements on UDP 5557.
  • Keeps up to 4 sessions. Each session gets one virtual Xbox 360 controller.
  • Drops a session after 5 seconds with no packets.
  • The window has Start/Stop, the listen address, the session list, and an event log.
Setting Value
UDP port 5555
Discovery UDP 5556 (probes) / 5557 (announcements)
Announcements every 2 s while running
Sessions 4
Idle timeout 5 s

Requirements

  • Windows 10/11
  • ViGEmBus driver
  • .NET 10 runtime
  • To build: .NET 10 SDK, and Visual Studio 2022 17.13+ or Visual Studio 2026 (the solution is .slnx)

Getting Started

  1. Install the ViGEmBus driver.
  2. Open server/PocketControllerServer.slnx, set PocketControllerServer as the startup project, and run it (F5).
  3. Click Start. The server listens on UDP port 5555 by default.
  4. If Windows Firewall asks, allow PocketController Server on private networks (UDP 5555 for play, 5556–5557 for discovery).

Having trouble? See SUPPORT.md.

The packet layout this server parses and the replies it sends are documented in docs/PROTOCOL.md.

Development

cd server
dotnet build PocketControllerServer.slnx
dotnet test Tests

See CONTRIBUTING.md.

Version

Project Version
PocketController Server 1.2.2

server/PocketControllerServer.csproj sets Version, AssemblyVersion (1.2.2.0), and FileVersion (1.2.2.0). The window header in server/MainForm.Designer.cs shows the same number. See the changelog.

Further reading

About

Turn your Android or iOS phone into a wireless Xbox 360 (XInput) controller for your PC.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages