Skip to content

Commit e09b079

Browse files
authored
Windrose: add direct connection settings (#1885)
1 parent e118726 commit e09b079

4 files changed

Lines changed: 72 additions & 8 deletions

File tree

windrose.kvp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Meta.Prerequisites=[]
2121
Meta.ExtraContainerPackages=[]
2222
Meta.ConfigReleaseState=NotSpecified
2323
Meta.NoCommercialUsage=False
24-
Meta.ConfigVersion=2
24+
Meta.ConfigVersion=3
2525
Meta.ReleaseNotes=
2626
Meta.BreakingReleaseNotes=
2727
Meta.AppConfigId=719703a2-78d0-45fc-86c7-3d548aba1706

windroseconfig.json

Lines changed: 62 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,36 @@
11
[
2+
{
3+
"DisplayName": "Game Port",
4+
"Category": "Windrose:stadia_controller",
5+
"Subcategory": "Server:dns:1",
6+
"Description": "",
7+
"Keywords": "",
8+
"FieldName": "$GamePort",
9+
"InputType": "number",
10+
"Hidden": true,
11+
"ParamFieldName": "$.ServerDescription_Persistent.DirectConnectionServerPort",
12+
"ExcludeFromImport": true,
13+
"EnumValues": {}
14+
},
15+
{
16+
"DisplayName": "Direct Connection IP Binding",
17+
"Category": "Windrose:stadia_controller",
18+
"Subcategory": "Server:dns:1",
19+
"Description": "",
20+
"Keywords": "",
21+
"FieldName": "DirectConnectionProxyAddress",
22+
"InputType": "text",
23+
"Hidden": true,
24+
"ParamFieldName": "$.ServerDescription_Persistent.DirectConnectionProxyAddress",
25+
"DefaultValue": "0.0.0.0",
26+
"ExcludeFromImport": true,
27+
"EnumValues": {}
28+
},
229
{
330
"DisplayName": "Invite Code",
431
"Category": "Windrose:stadia_controller",
532
"Subcategory": "Server:dns:1",
6-
"Description": "Sets the invite code used to search for the server in-game. Must contain between 1 and 32 alphanumeric characters. Case-sensitive. Empty or not valid = a new invite code will be generated at server start (which can be imported from 'R5/ServerDescription.json' into this setting for persistence)",
33+
"Description": "Sets the invite code used to search for the server in-game, if the Connection Mode is set to 'P2P Connection'. Must contain between 1 and 32 alphanumeric characters. Case-sensitive. Empty or not valid = a new invite code will be generated at server start (which can be imported from 'R5/ServerDescription.json' into this setting for persistence)",
734
"Keywords": "invite,code,invitecode,search",
835
"FieldName": "InviteCode",
936
"InputType": "text",
@@ -29,7 +56,7 @@
2956
"Category": "Windrose:stadia_controller",
3057
"Subcategory": "Server:dns:1",
3158
"Description": "Sets the name of the server. Helpful if invite codes look similar",
32-
"Keywords": "name,description,server",
59+
"Keywords": "name,description,server,ServerName",
3360
"FieldName": "ServerName",
3461
"InputType": "text",
3562
"ParamFieldName": "$.ServerDescription_Persistent.ServerName",
@@ -78,5 +105,37 @@
78105
"Placeholder": "4",
79106
"Suffix": "players",
80107
"EnumValues": {}
108+
},
109+
{
110+
"DisplayName": "Connection Mode",
111+
"Category": "Windrose:stadia_controller",
112+
"Subcategory": "Server:dns:1",
113+
"Description": "Sets the connection mode - either via a P2P connection using the ICE protocol (no ports required), or via a direct port connection on the Game Port",
114+
"Keywords": "p2p,relay,connection,service,direct,network,port,UseDirectConnection",
115+
"FieldName": "UseDirectConnection",
116+
"InputType": "enum",
117+
"ParamFieldName": "$.ServerDescription_Persistent.UseDirectConnection",
118+
"DefaultValue": "false",
119+
"EnumValues": {
120+
"false": "P2P Connection (default)",
121+
"true": "Direct Port Connection"
122+
}
123+
},
124+
{
125+
"DisplayName": "P2P Connection Service Region",
126+
"Category": "Windrose:stadia_controller",
127+
"Subcategory": "Server:dns:1",
128+
"Description": "Sets the P2P connection service region to use, if the Connection Mode is set to 'P2P Connection'. 'Automatic selection' is based on latency from the server",
129+
"Keywords": "p2p,relay,connection,service,user,selected,automatic,region,UserSelectedRegion",
130+
"FieldName": "UserSelectedRegion",
131+
"InputType": "enum",
132+
"ParamFieldName": "$.ServerDescription_Persistent.UserSelectedRegion",
133+
"DefaultValue": "",
134+
"EnumValues": {
135+
"": "Automatic selection (default)",
136+
"SEA": "SEA",
137+
"CIS": "CIS",
138+
"EU": "EU and NA"
139+
}
81140
}
82-
]
141+
]

windroseports.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
[
22
{
3-
"Protocol": "UDP",
3+
"Protocol": "Both",
44
"Port": 7777,
55
"Ref": "GamePort",
66
"Name": "Game Port",
7-
"Description": "Port used for main game traffic"
7+
"Description": "Port used for direct connection game traffic"
88
}
99
]

windroseserverdescription.json

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,11 @@
88
"ServerName": "",
99
"WorldIslandId": "",
1010
"MaxPlayerCount": 4,
11-
"P2pProxyAddress": "127.0.0.1"
11+
"UserSelectedRegion": "",
12+
"P2pProxyAddress": "127.0.0.1",
13+
"UseDirectConnection": false,
14+
"DirectConnectionServerAddress": "",
15+
"DirectConnectionServerPort": 7777,
16+
"DirectConnectionProxyAddress": "0.0.0.0"
1217
}
13-
}
18+
}

0 commit comments

Comments
 (0)