LogoLogo
English
English
  • Diarkis Help Center
  • Overview of Diarkis
  • Getting Started
    • Diarkis Server Template
    • Diarkis Client SDK
    • Tutorials
      • 1. Launch Diarkis Server in Local Environment
      • 2. Perform Connectivity Check with Test Client
      • 3. Implement Custom Command
      • Connect to Server from Diarkis Client
    • Samples
  • Diarkis Modules
    • Room Module
      • Set Up Room Module on Server
      • Room Sample
        • room_broadcast
      • Utilizing Room Module from Client
      • Additional Features of Room
    • MatchMaker Module
      • Set Up MatchMaker Module on Server
    • Field Module
      • Set Up Field Module on Server
    • P2P Module
      • Set Up P2P Module on Server
      • P2P Sample
    • DM (Direct Message) Module
      • Set Up DM Module on Server
    • Notifier Module
      • Set Up Notifier Module on Server
    • Session Module
      • Set Up Session Module on Server
    • Group Module
      • Set Up Group Module on Server
  • Diarkis Server
    • Launch Diarkis Server in Cloud Environment
      • AWS
    • Launch Diarkis Server on Windows Environment
    • MARS Server
    • UDP Server
    • TCP Server
    • HTTP Server
    • Metrics API
    • Inter-server Communication - Mesh
  • Diarkis Client
    • Runtime Library
      • Diarkis RUDP
    • Diarkis Module
      • Initialization and Termination of Diarkis Module
      • Customization of Diarkis Module
      • Logging System of Diarkis Module
      • Migration
      • Threads of Diarkis
    • Samples
      • C++
        • room_broadcast
        • directmessage_simple
        • group_sample
        • matching_and_turn
        • matchmaker_ticket
        • p2p_rudp_sample
        • session_simple
      • Unreal Engine Plugin
        • FieldWalker
      • Unity Plugin
        • FieldWalker
          • HowToReplicatePosition.md
  • Diarkis Tools
    • Diarkis CLI
      • Procedures to Switch to Diarkis CLI v3
  • References
    • API Reference
    • Release Notes
      • v1.0
      • v1.0.1
      • v1.0.2
      • v1.0.3
      • v1.0.4
      • v1.0.5
      • v1.0.6
  • Support
    • License and Billing
Powered by GitBook
On this page
  • Overview
  • Setting Up the MARS Server
  • Configuring the MARS Server
  • When Launching Different Versions of Diarkis

Was this helpful?

  1. Diarkis Server

MARS Server

Overview

The MARS (Mesh network Announcement Relay Storage) server is a unique server possessed by Diarkis and is an essential component for any Diarkis cluster.

The MARS server is characterized by its ability to function without the need for scaling or redundancy, and it does not become a single point of failure. Even if a short downtime occurs, it does not impact the overall Diarkis cluster. In the event of an issue, the integrity of the Diarkis cluster can be maintained by simply restarting the server.

Setting Up the MARS Server

package main

import (
	"github.com/Diarkis/diarkis"
	"github.com/Diarkis/diarkis/mars"
)

func main() {
	mars.Setup()
	diarkis.Start()
}

Configuring the MARS Server

Configuration is specified in JSON format.

{
  "address": "127.0.0.1",
  "port": "6779",
  "fullSyncRoles": ["HTTP"],
  "enableMetricsLogging": false
}
Key
Default
Description

address

"127.0.0.1"

The address to which the UDP server binds

port

"6779"

The port for binding the MARS server. The UDP server will automatically search for an available port starting from the specified port.

fullSyncRoles

["HTTP"]

An array of server roles that synchronize all mesh data

enableMetricsLogging

false

If set to true, the MARS server will output JSON data for metrics to standard output every second.

When Launching Different Versions of Diarkis

The MARS server segregates and manages data based on the Diarkis server version. This prevents user data from being mixed across applications with different versions.

PreviousLaunch Diarkis Server on Windows EnvironmentNextUDP Server

Last updated 2 months ago

Was this helpful?