Getting Started
Creating a W4 Account
Installation
Requirements
Copy W4GD into your project
Enable W4GD addon
Configure the addon to use your W4 Cloud workspace
About API keys
Player Authentication
Database (Supabase)
Matchmaker
Lobby basics
Creating a lobby
Joining a lobby
Updating or deleting a lobby
Lobby states
Listing the players in a lobby
Automated matchmaker
Joining and leaving the matchmaking queue
Matchmaking profiles
Queries based user properties
List of all constraint operators
How does it work?
Peer-to-peer via WebRTC
How does WebRTC work?
Connecting to a WebRTC lobby
Using alternative STUN and TURN servers
Dedicated Servers
Overview
Adapting your game
Configure dedicated server support in W4GD
Running in "Game Server mode"
Connecting to the server
Uploading a server build
Setting up a dedicated server export
"Strip Visuals" vs "Remove" vs "Keep"
Uploading to W4 Cloud
Upload the build from Godot
Upload the build from the workspace dashboard
Creating a fleet
Monitoring your Fleets
Tutorials
Getting started with W4 Cloud
What you'll learn in this series
How W4 Cloud's multiplayer works
How to play a game round with W4 Cloud
How to synchronize players with an authoritative server
Exploring the start project
First, a taste of Gameplay
Solo and multiplayer node setups for gameplay
Authentication and lobby selection
In summary
Adding W4 to the project
Creating a W4 Account
Installing the W4 addon
Authenticating players
Database Management
Databases in W4 Cloud
Storing player usernames
Using the W4 Mapper to query and write to the database
Updating the Remote Database
Setting up matching with lobbies
Getting the list of clusters
Creating and interacting with lobbies
Querying lobbies
Joining lobbies
Setting up the game to run on the server
Joining a game round
Finishing the game round when a player wins
Connecting essential signals
Uploading a Build
Creating an export
Simple upload with the Godot plugin
Creating a Fleet
How to test multiplayer functionality alone
Option 1: Use A different machine
Option 2: Enable manual logins
Option 3: Make a Profile Chooser
Option 4: Run your own instances
Publishing different game versions
Defining a Globally Accessible Version
Create a build
Upload a build
Create a Fleet
Recap
Annex
How to access server logs
Beta and Staging Releases
Differences in the final project on GitHub
Uploading a game build manually
Known Bugs
saml relaystate comes from another ip address
More Resources
Licenses
Summary of how W4 Cloud works for experienced developers
API Reference
All classes
analytics/analytics.gd
Properties
Methods
Signals
Constants
Property Descriptions
Method Descriptions
game_server/agones_client.gd
Description
Methods
Method Descriptions
game_server/agones_client.gd: Result
Methods
Method Descriptions
game_server/agones_client.gd: Watcher
Description
Methods
Signals
Method Descriptions
game_server/game_server.gd
Description
Properties
Methods
Signals
Enumerations
Constants
Property Descriptions
Method Descriptions
game_server/game_server.gd: PlayerRegistration
Properties
Methods
Property Descriptions
Method Descriptions
game_server/game_server.gd: StateChangeRequest
Methods
Signals
Method Descriptions
game_server/game_server_sdk.gd
Methods
Signals
Constants
Method Descriptions
game_server/game_server_sdk.gd: W4Player
Properties
Methods
Property Descriptions
Method Descriptions
matchmaker/matchmaker.gd
Methods
Enumerations
Constants
Method Descriptions
matchmaker/matchmaker.gd: Lobby
Properties
Methods
Signals
Property Descriptions
Method Descriptions
matchmaker/matchmaker.gd: MatchmakerTicket
Properties
Signals
Property Descriptions
matchmaker/matchmaker.gd: ServerTicket
Properties
Property Descriptions
matchmaker/webrtc_manager.gd
Properties
Methods
Signals
Property Descriptions
Method Descriptions
matchmaker/webrtc_manager.gd: Session
Properties
Methods
Property Descriptions
Method Descriptions
rest-client/client.gd
Properties
Methods
Property Descriptions
Method Descriptions
rest-client/client_async_result.gd
Properties
Methods
Signals
Property Descriptions
Method Descriptions
rest-client/client_blocking_result.gd
Properties
Methods
Property Descriptions
Method Descriptions
rest-client/client_promise.gd
Description
Properties
Methods
Enumerations
Property Descriptions
Method Descriptions
rest-client/client_request.gd
Properties
Methods
Property Descriptions
Method Descriptions
rest-client/client_result.gd
Properties
Methods
Enumerations
Property Descriptions
Method Descriptions
smauth/smauth.gd
Properties
Methods
Property Descriptions
Method Descriptions
supabase/auth.gd
Properties
Methods
Enumerations
Property Descriptions
Method Descriptions
supabase/auth.gd: Admin
Methods
Method Descriptions
supabase/client.gd
Properties
Methods
Property Descriptions
Method Descriptions
supabase/endpoint.gd
Properties
Methods
Property Descriptions
Method Descriptions
supabase/identity.gd
Description
Properties
Methods
Signals
Property Descriptions
Method Descriptions
supabase/jwt_utils.gd
Methods
Method Descriptions
supabase/mime_types.gd
Constants
supabase/pg_meta.gd
Description
Methods
Method Descriptions
supabase/poly_result.gd
Methods
Method Descriptions
supabase/poly_result.gd: PolyResult
Description
Methods
Method Descriptions
supabase/poly_result.gd: ResultError
Properties
Property Descriptions
supabase/realtime.gd
Methods
Signals
Enumerations
Constants
Method Descriptions
supabase/realtime.gd: ChannelProxy
Properties
Methods
Signals
Enumerations
Property Descriptions
Method Descriptions
supabase/realtime.gd: Response
Signals
supabase/realtime.gd: Subscription
Properties
Methods
Signals
Property Descriptions
Method Descriptions
supabase/rest.gd
Methods
Method Descriptions
supabase/storage.gd
Methods
Enumerations
Method Descriptions
w4gd.gd
Properties
Methods
Property Descriptions
Method Descriptions
w4rm/w4rm_connectors.gd
Methods
Method Descriptions
w4rm/w4rm_connectors.gd: W4RMConnector
Methods
Method Descriptions
w4rm/w4rm_connectors.gd: W4RMSupabaseConnector
Properties
Methods
Property Descriptions
Method Descriptions
w4rm/w4rm_mapper.gd
Properties
Methods
Property Descriptions
Method Descriptions
w4rm/w4rm_mapper.gd: Log
Methods
Method Descriptions
w4rm/w4rm_operations.gd
Methods
Method Descriptions
w4rm/w4rm_operations.gd: W4RMOperation
Properties
Methods
Property Descriptions
Method Descriptions
w4rm/w4rm_operations.gd: W4RMOperationProxy
Properties
Property Descriptions
w4rm/w4rm_security.gd
w4rm/w4rm_security.gd: W4RMSecurityPolicyBuilder
Properties
Methods
Property Descriptions
Method Descriptions
w4rm/w4rm_sql.gd
Methods
Constants
Method Descriptions
w4rm/w4rm_table.gd
Methods
Enumerations
Method Descriptions
w4rm/w4rm_table.gd: W4RMTable
Properties
Methods
Property Descriptions
Method Descriptions
w4rm/w4rm_table.gd: W4RMTable.MemberOption
Properties
Property Descriptions
w4rm/w4rm_table.gd: W4RMTable.SecurityPolicy
Properties
Property Descriptions
w4rm/w4rm_table.gd: W4RMTable.TableBackReference
Properties
Property Descriptions
w4rm/w4rm_table.gd: W4RMTable.TableReference
Properties
Property Descriptions
w4rm/w4rm_triggers.gd
w4rm/w4rm_triggers.gd: W4RMTriggerBuilder
Properties
Methods
Property Descriptions
Method Descriptions
w4rm/w4rm_types.gd
Methods
Method Descriptions
w4rm/w4rm_types.gd: W4RMArrayType
Properties
Methods
Property Descriptions
Method Descriptions
w4rm/w4rm_types.gd: W4RMBaseType
w4rm/w4rm_types.gd: W4RMCompositeType
Properties
Methods
Property Descriptions
Method Descriptions
w4rm/w4rm_types.gd: W4RMMapType
Properties
Methods
Property Descriptions
Method Descriptions
w4rm/w4rm_types.gd: W4RMTableType
Properties
Methods
Property Descriptions
Method Descriptions
w4rm/w4rm_types.gd: W4RMType
Properties
Methods
Property Descriptions
Method Descriptions
w4rm/w4rm_watcher.gd
Properties
Methods
Property Descriptions
Method Descriptions
W4Client
Properties
Methods
Property Descriptions
Method Descriptions
W4RM
Methods
Method Descriptions
W4Utils
W4Utils.UUIDGenerator
Properties
Methods
Property Descriptions
Method Descriptions
W4 Cloud
W4RM
W4RM
Warning
This is currently a placeholder.