Run Beacon Rush on PingCore

Take the Beacon Rush sample from an empty workspace to two players matched on your own PingCore game server, in ten steps.

Beacon Rush is PingCore's sample Unity game, a top-down arena for up to 8 players on Netcode for GameObjects. In ten steps you import its setup into your workspace, build and push its Linux game server from Unity, run it on a fleet and match two players on it.

Only step 8, adding a deployment, costs credit.

Before you start

  • Unity 6.3 or newer with the Linux Dedicated Server Build Support module, added in Unity Hub. Beacon Rush is built and tested on 6000.4.10f1.

  • The project. Clone the repository and add its SampleGame folder as a project in Unity Hub, then open it. Both PingCore packages and every other package come with the project, so there is nothing to install. If Unity reports EPERM: operation not permitted while it resolves packages, see Troubleshooting.

    git clone https://github.com/pingcoregaming/pingcore-unity.git
  • A PingCore workspace with prepaid credit, and room in its resource limits for one more deployment. With no credit, Deploy New in step 8 shows Credit Required instead of the form.

  • Brand permissions. The workspace owner needs none. Any other brand member needs:

    • my-games.view, cores.browse-public and cores.import (step 1);

    • cdn-sources.view, cdn-sources.add, cdn-sources.edit and my-games.branches (step 2; cdn-sources.edit also lets Push issue its token in step 6);

    • fleets.view and fleets.manage (step 3);

    • api-keys.add (step 4);

    • my-games.templates, brand.servers.view and discovery.view, which the PingCore window reads with (steps 5 and 6);

    • brand.servers.deploy (step 8), and brand.servers.remove to remove the deployment afterwards;

    • discovery.manage (step 9).

1. Import the Beacon Rush Core

A core is a game's whole setup in one package. See What Are Cores.

  1. In the panel sidebar, open Games > Browse Cores.

  2. Find the core whose Source Game is "Beacon Rush (Unity Dev)" and click its import button ("Import this Core").

  3. Read the preview, then click Import Core (or Import Core (Partial) if your resource limits are lower than the game's).

    You should see the Overview tab of the new game, "Beacon Rush (Unity Dev)".

Screenshot: Browse Cores with the Beacon Rush core and its import button.

The core has no data source. You add one in the next step.

2. Give the game somewhere to get its files

Your game server builds go to a manual CDN source, and every game server downloads its files from there. See CDN Sources and Push Tokens.

  1. Open Games > CDN Sources and click Add Category.

  2. Set Name to Beacon Rush. Folder Name fills itself from the name.

  3. Click Create Category.

    You should see the Beacon Rush category page.

  4. Click Add Source and set Name to Beacon Rush server.

  5. Change Download Method from SteamCMD to Manual, and Platform from Windows to Linux.

  6. Click Create Source.

    You should see Beacon Rush server on the category page.

  7. Open Games > Games, open "Beacon Rush (Unity Dev)" and go to its Branches tab. Click Edit Branch on "Main Branch".

  8. Set Data Source to CDN Source, then pick "Beacon Rush server [linux]" in the CDN Source list, under Beacon Rush.

  9. Click Update Branch.

    You should see "Branch updated successfully!".

Push issues the source's push token in step 6.

3. Create the fleet

A fleet groups the game's deployments and gives them a Discovery app, which is how players find its game servers. See Fleets Overview.

  1. Open Servers > Fleets and click Add Fleet.

  2. Set Fleet Name to Beacon Rush and Game to "Beacon Rush (Unity Dev)".

  3. Click Create.

    You should see the fleet page. Its Discovery App field names the app created with the fleet and its public id, which starts dscp_.

4. Create an API key

The PingCore window in Unity signs in to your workspace with an API key.

  1. Open Settings > API Keys and click Create New Key.

  2. Under Key Type, pick Brand. The form starts on Personal.

  3. Set Name to Beacon Rush and click Create Key.

    You should see Save Your API Key with the key, which starts usr_. Copy it now: it is shown once.

The key acts with your brand permissions. See The PingCore Window for which ones it needs.

5. Connect Unity to the fleet

  1. In Unity, open Window > PingCore.

  2. Under Connect, paste the key into API key (usr_) and click Sign in.

    You should see Verify and Sign out in place of the key field, and "No fleet is picked for this project yet. Next: Pick the fleet this project ships to."

  3. Pick Beacon Rush in the Fleet list.

    You should see "This project ships to Beacon Rush." and, under the list, "Beacon Rush (#12) runs Beacon Rush (Unity Dev); Discovery app dscp_xxxxxxxx; 0 deployments", with your own ids.

Screenshot: the Connect section, signed in, with the Beacon Rush fleet picked.

Picking the fleet writes its Discovery app id into the game's client settings asset, Assets/Client/Settings/PingCoreClientSettings.asset. That id is public and safe to ship. The key is kept in your credential store, never in the project.

6. Build, then Push

Ship builds the Linux dedicated game server and uploads it to the CDN source from step 2. Build profile already names the project's server profile, Assets/Settings/Build Profiles/Beacon Rush Server.asset.

  1. Under Ship, click Build.

    You should see "Built Builds/Server/" followed by the build version, for example "Built Builds/Server/2026.10.09-1a2b3c4."

  2. Click Push. The first push asks "Issue a push token?". Click Issue it.

    You should see "Pushed snapshot" followed by the snapshot's name.

Screenshot: the Ship section with Build and Push done.

Leave Release alone. A new deployment installs the newest snapshot you pushed, so a first run needs no release (which build your game servers run).

7. Press Play

  1. Open Assets/Client/Scenes/Client.unity and press Play.

    You should see the BEACON RUSH menu with the banner "No game servers are running for this game. Add a deployment to your fleet in the panel." Under it, the Editor adds "Fleet Beacon Rush has no deployment."

The second line comes from the PingCore window and appears only in the Editor, never in a player build.

8. Add a deployment

  1. In the panel, open the Beacon Rush fleet and click Deploy New under Member Deployments.

    You should see Deploy Servers with a banner that starts "Deploying into fleet: Beacon Rush."

  2. Set Deployment Spec to beacon-rush-linux and Location to the one nearest you.

  3. Under Resources, move Players to 8. It starts at the game's minimum of 1 and sets how many players each game server seats through Quick play and Browse game servers.

  4. Leave Server Count at 1 and click Deploy 1 Server.

    You should see the fleet page with "Deployment queued." and the new deployment under Member Deployments.

The game server now starts and downloads your build. Back in Unity, press Check again under the banner. For a while the Editor line reads "Fleet Beacon Rush: its deployment is starting (0 of 1 ready)." and then "Fleet Beacon Rush: its deployment is running, but no game server is ready yet (0 of 1 ready). Ship a build if none has been released." You shipped one in step 6, so wait and press Check again until the banner is gone.

The deployment draws from your credit until you remove it. To stop, open it under Servers > Deployments and click Remove.

If you added the deployment before you pushed

A game server that started before your first push has no files, and it does not fetch them on its own. Push, then open the deployment under Servers > Deployments, click Restart and confirm Restart deployment.

You should see "Deployment restart queued." The game server downloads the newest snapshot as it restarts. Restarting needs brand.servers.manage.

9. Find match, then turn on anonymous player tokens

  1. Press Play and click Find match on the menu.

  2. On the Find match screen, click Find match.

    You should see "The queue refused the ticket: Forbidden (403): anonymous_tokens_disabled".

    Beacon Rush has no login, so each player asks Discovery for an anonymous player token, and a new fleet's Discovery app has anonymous tokens turned off. A game with its own accounts turns on studio-signed tokens instead and signs one per player; see Choosing How Players Connect.

  3. In the panel, open the Beacon Rush fleet and click the app's name under Discovery App.

  4. In the Player Access card, turn on Anonymous player tokens. The switch saves at once.

    You should see "Player access changes reach Discovery within about 60 seconds."

  5. Wait a minute, then click Find match again in Unity.

    You should see "Searching rush-p2..." with a clock.

Screenshot: the Player Access card with Anonymous player tokens turned on.

10. Match two players

One player alone keeps searching until the ticket runs out. The screen says why: "Queue rush-p2: 4 players, or 2 after 10 s in the queue." A ticket from a game client must ask for at least two players, so you need a second one.

  1. Click Cancel, then stop Play mode.

  2. Open Window > Multiplayer > Multiplayer Play Mode, enable Player 2 and wait for it to activate.

  3. Press Play. A second window opens as Player 2. In both windows, click Find match, then Find match again on the next screen.

    You should see "Match found after 0:05. Connecting..." (with your own time), then both players in one arena.

Screenshot: the Editor and Player 2 side by side in one Beacon Rush match.

The project also ships a Two Players Play Mode scenario that starts Player 2 for you.

While you play, Status in the PingCore window counts the game server as "1 in session".

Next