-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathhandler_template.yaml
More file actions
149 lines (133 loc) · 6.19 KB
/
Copy pathhandler_template.yaml
File metadata and controls
149 lines (133 loc) · 6.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
# Splitux Handler Template
# ========================
# Copy this file to ~/.local/share/splitux/handlers/<game-name>/handler.yaml
# and customise it for your game.
#
# To get going: fill in the 4 fields under "BASIC" below, then uncomment the ONE
# backend block that matches how your game does multiplayer. Delete everything
# you don't use.
#
# Full reference for every field + emulator tuning knob:
# docs/HANDLER_OPTIONS.md
#
# Schema note: this template uses the canonical "nested block" form
# (goldberg:, eos:, ...). Older dot-notation (goldberg.settings.x.txt) still
# loads, but new handlers should use nested blocks.
# ============================================
# BASIC (required)
# ============================================
name: My Game # Display name in the launcher
exec: game.exe # Executable, relative to the game root (.exe/.bat = Proton)
spec_ver: 3 # Handler format version (do not change)
# Game location — choose ONE:
steam_appid: 123456 # Steam app id (recommended; auto-locates + fetches art)
# path_gameroot: /path/to/game/folder # ...or an explicit path for non-Steam games
# ============================================
# MULTIPLAYER BACKEND — uncomment ONE block
# (backends are auto-detected by the block being present)
# ============================================
# --- Goldberg: Steam emulation via gbe_fork (Steam P2P / lobby games) ---
# goldberg:
# disable_networking: false # true = ownership-only shim (pair w/ native LAN or EOS)
# settings: # any gbe_fork settings file (filename: contents)
# force_lobby_type.txt: "2" # 0=private 1=friends 2=public
# invite_all.txt: ""
# plugin: # optional BepInEx plugin (e.g. a P2P fix)
# source: thunderstore
# community: riskofrain2
# package: owner/Package
# version: "1.0.0"
# --- EOS: Epic Online Services co-op via the splitux EOS LAN emu (UE games) ---
# eos:
# appid: "MyGame" # informational; identity derives from the username
# enable_lan: true
# disable_online_networking: true
# # EOS emu tuning goes in env (see HANDLER_OPTIONS.md "EOSLAN_*"):
# # EOSLAN_LOCALHOST_MODE=1 loopback discovery for 2 instances on one box (usually needed)
# # EOSLAN_P2P_BASE_PORT=N move the emu off 7777 if the game's own netdriver wants it
# env: "EOSLAN_LOCALHOST_MODE=1"
# # Steam builds of Epic games still need a Steam ownership shim to boot:
# goldberg:
# disable_networking: false
# --- Photon: Unity Photon games (BepInEx LocalMultiplayer mod) ---
# photon:
# config_path: "AppData/LocalLow/Company/Game/LocalMultiplayer/global.cfg"
# shared_files:
# - "AppData/LocalLow/Company/Game/LocalMultiplayer/GlobalSave"
# plugin: # optional auto-fetch; omit to require manual install
# source: thunderstore
# community: mygame
# package: owner/LocalMultiplayer
# version: "1.0.0"
# --- Facepunch: Unity games using Facepunch.Steamworks ---
# facepunch:
# spoof_identity: true
# force_valid: true
# photon_bypass: false
# --- Standalone: community mods handle multiplayer (BepInEx + Thunderstore) ---
# standalone:
# community: dyson-sphere-program
# bepinex_package: xiaoye97/BepInEx # optional; default bbepis/BepInExPack
# plugins:
# - owner/MultiplayerMod # latest version
# - package: owner/OtherMod # pinned version
# version: "1.0.4"
# Mods the user must install by hand (no auto-fetch source):
# required_mods:
# - name: "LocalMultiplayer"
# description: "Steam account spoofing for local co-op"
# url: "https://thunderstore.io/c/mygame/p/owner/LocalMultiplayer/"
# dest_path: "overlay/BepInEx/plugins"
# file_pattern: "*.dll"
# ============================================
# CO-OP TOPOLOGY
# ============================================
# separate (default) = one instance per player (online/LAN co-op)
# local-split = one instance shared by N controllers (couch co-op)
# coop_mode: separate
# ============================================
# LAUNCH OPTIONS
# ============================================
# pause_between_starts: 5.0 # seconds between instance launches (EOS/UE: 10-15)
# args: -windowed -novid # game CLI args ($PROFILE, $WIDTH, $RESOLUTION, ...)
# env: PROTON_LOG=1 SOME_VAR=value # extra environment (KEY=VALUE, space-separated)
# proton_path: "Proton - Experimental" # Windows games
# runtime: soldier # native Linux runtime: scout | soldier | empty
# sdl2_override: No # No | Srt | Sys (old native games w/ pad issues)
# ============================================
# OPTIONAL METADATA
# ============================================
# author: Your Name
# version: "1.0"
# info: |
# Notes shown to the player (setup steps, quirks).
# Can be multiple lines.
# ============================================
# GAME CONFIG PATCHES
# ============================================
# Rewrite entries in the game's own config files (set/ini/space styles auto-detected).
# game_patches:
# conf/settings.cfg: # path relative to game root
# some_key: new_value
# ============================================
# SAVE GAME INTEGRATION
# ============================================
# original_save_path: "AppData/LocalLow/Company/GameName"
# save_sync_back: true # sync first named profile's saves back after play
# save_steam_id_remap: true # rename saves to each profile's Goldberg Steam ID
# ============================================
# ADVANCED (see docs/HANDLER_OPTIONS.md)
# ============================================
# game_null_paths: # redirect game subpaths to /dev/null
# - logs/
# - crash_dumps/
# disable_bwrap: false # skip the bubblewrap sandbox
# disable_input_isolation: false # let every instance see every input device
# gptokeyb: # gamepad -> keyboard/mouse for pad-less games
# profile: fps # built-in profile, or "custom" (handler_dir/gptokeyb.gptk)
# mouse_scale: 512
# deadzone: 2000
# runtime_patches: # BepInEx managed-method patches
# - class: SteamManager
# method: Initialize
# action: force_steam_loaded