🚢
Airship
  • Getting Started
    • Welcome to Airship
    • Installing Airship
  • TypeScript
    • Overview
    • AirshipBehaviour
      • Adding Inspector Properties
      • AirshipSingleton
      • Using Component Decorators
      • Accessing Other Components
  • Publishing
    • Publish Game
    • Developer Console
  • Networking
    • Multiplayer
    • Local Server Mode
    • Network Signals
    • Network Functions
    • Network Identity
    • Network Transform
  • Input
    • User Input
      • Actions
      • Keyboard
      • Mouse
    • Proximity Prompts
  • Core Package
    • What is the Core Package?
    • Chat Commands
    • Inventory
    • Spawning Characters
    • Enable / Disable Core Features
  • Physics
    • Physics Settings
    • Physics Layers
  • Platform Services
    • Data Store
      • Locking
    • Cache Store
    • Leaderboards
    • Platform Inventory
    • Server Management
    • Server List
    • Server Transfers
    • Users
    • Parties
    • Matchmaking
    • External Services
  • CHARACTERS
    • Quick Configuration
    • Character Movement System
      • Character Movement Data
      • Character Movement Events
    • Character Camera
      • First Person Camera
      • Simple Usage
      • Camera Structure
      • Default Camera Modes
      • Disabling the Camera System
    • Character Animations
      • Character Blender Animations
      • Character Ragdoll
  • Accessories
    • Accessories Intro
    • Creating Accessories
    • Using Accessories
  • ANIMATIONS
    • Animation Events
  • Optimization
    • Live Game Profiler
    • Reducing Bundle Size
  • Game Settings
    • Game Visibility
  • Other
    • Project Status
    • FAQ
    • DataType Math
    • JS to Luau
    • Tags
    • Terrain
    • AirshipNetworkBehaviour
      • Lifecycle Events
      • ServerRpc
      • ObserversRpc
      • TargetRpc
    • VoxelWorld
      • Voxel World Getting Started
      • Voxel World Tips
      • Prefab Voxels
      • QuarterBlocks
    • Easy Helper Utils
      • Easy Motion
      • Easy Grid Align
      • Easy Look At
      • Easy Shake
      • Easy Destroy
Powered by GitBook
On this page
  1. Other

AirshipNetworkBehaviour

PreviousTerrainNextLifecycle Events

Last updated 9 months ago

AirshipNetworkBehaviour is a work-in-progress system. It's not recommended to use this yet. There will likely be breaking changes in the future.

Instead, use NetworkSignals.

If your Airship Component requires networking capabilities, we have AirshipNetworkBehaviour . This will enable networking remote procedural calls (RPCs), as well as to be usable on the component.

import { AirshipNetworkBehaviour, TargetRpc } from "@Easy/Core/Shared/Network";

export default class ServerWelcomeComponent extends AirshipNetworkBehaviour {
    // This is a client-only "Start" event
    public OnClientStart() {
       print("Hello, Client!");   
    }
    
    // This is a server-only "Start" event
    public OnServerStart() {
       print("Hello, Server!");
       
       Airship.Players.ObservePlayers((player) => {
          // Personalized server introduction :-)
          this.SendServerIntroduction(player, `Hello, World! - to you - ${player.username}!`);
       });
    }
    
    // TargetRpc will only send to the specified player
    // this method will also only invoke on the client it's sent to
    @TargetRpc()
    public SendServerIntroduction(player: Player, message: string) {
       Game.BroadcastMessage(`[SERVER] ${message}`);
    }
}
Networking Lifecycle Events