Getting Started with Godot on PlayFlow

This guide assumes you have some or all of your game already written using Godot and are now ready to use PlayFlow to implement a dedicated server. You can also use PlayFlow throughout the development process as its one-click deployment makes it easy to setup a temporary server for testing.
Godot 4.x - This guide uses Godot 4.4, but any 4.x version should work. We’ll be using WebSocket networking for cross-platform compatibility.

Before We Begin

1

Starting Project

If you don’t have a project already setup but want to follow this tutorial, you can create a complete multiplayer game from scratch using our comprehensive guide.

Create Your First Multiplayer Game

Complete tutorial for building a multiplayer game in Godot with PlayFlow
2

Configure Server Auto-Start

Configure your game to automatically start as a server in headless builds. In your main multiplayer manager script, add server detection:
func _ready() -> void:
    if OS.has_feature("dedicated_server"):
        start_server()
This ensures your server starts automatically when deployed to PlayFlow.
Once that’s all done we can move on to using PlayFlow Cloud!

Deploying Your Game with PlayFlow

1

Create Your PlayFlow Account

Go to the PlayFlow Cloud website and sign-up using your email, or log in with your GitHub or Google account. If asked, confirm your email address to complete the setup.
2

Create a Game Studio

Create a Game Studio to organize your game projects.
  • Enter a studio name
  • Select Hobby or Pro plan
  • Click Create Studio
You can change the plan and name later. Pro plans include team collaboration features.
3

Create a New Project

Click Create New Project and enter:
  • Project Name: Your game name
  • Game Engine: Other (Godot)
  • Game Type: Choose what fits (or Other)
Click Create Project to proceed.
4

Export Your Server Build

  1. Go to Project → Export in Godot
  2. Add a Linux/X11 export preset
  3. In the Resources tab, set Export Mode to “Export as dedicated server”
  4. IMPORTANT: Name your executable “Server” (required by PlayFlow)
  5. Export your project and create a .zip archive of all files
The dedicated server export creates a headless build perfect for PlayFlow deployment.
5

Upload Your Server Build

  1. In the PlayFlow dashboard, go to the Builds tab
  2. Click Upload Build
  3. Upload your .zip file containing the server executable
  4. Wait for the upload to complete
PlayFlow will automatically detect and configure your Godot server build.
6

Setup the PlayFlow Port

Now we will setup the port to use in the PlayFlow dashboard. Open up the website and head to the Configuration tab and then Network Ports section. Click the Add Your First Port button and fill in the fields.PlayFlow TCP TLS Configuration
  • Port Name: godot_websocket
  • Port Number: 8080 (or your configured port)
  • Protocol: TCP
  • Enable TLS: Yes (required for “wss://” connections from web clients)
  • Description (Optional): WebSocket port for Godot multiplayer
Click the Add Port button to finish this step.
Enable TLS is critical for web browser compatibility. Without TLS, web clients cannot connect using “wss://” protocol.
7

Create the Server

Now we are ready to start our server, head over to the Servers tab and click the Create Your First Server button.Create Server DialogA window will pop-up letting you customize the settings for this server. You can change the Name to “Godot Game Server”, or choose any name you like as well as customizing the other settings to better suit your needs. Once you are happy, press Create Server.You should now see the server in the Servers tab and you can see its details or stop it directly from here.Launching Servers View
8

Connect to the Server

Click on the Details button to see the details of the server. Look at the Details → Network section and copy the Host and External Port.Server DetailsConfigure your Godot client with the PlayFlow server details:In your connection script:
func connect_to_server(host: String, port: String):
    var peer = WebSocketMultiplayerPeer.new()
    var url = "wss://" + host + ":" + port
    var error = peer.create_client(url)
    if error == OK:
        multiplayer.multiplayer_peer = peer
For Web Builds: Always use “wss://” protocol for secure WebSocket connections. For local testing, you can use “ws://” but production deployments should use TLS.
9

Test the Game

  1. Run your Godot project locally or export a client build
  2. Enter the PlayFlow Host and External Port in your connection UI
  3. Connect to the server
  4. Your game should connect to the PlayFlow server and work correctly!
Testing Multiple Clients: Enable Debug → Customize Run Instances → Enable Multiple Instances in Godot to test multiple clients connecting to your PlayFlow server.

Take the Next Steps!

Well done! You’ve now learned how to setup and deploy your Godot server using PlayFlow.

Resources

Next Steps

Common Issues