Join scripts: Difference between revisions

From LRREW
Jump to navigation Jump to search
(Created page with "== Joinscripts == Joinscripts are used to make a client connect to a gameserver. == Format == Joinscripts follow a specific structure in JSON for it to be parsed by the client. Make sure to keep the JSON valid and to not give it malformed data. To prevent JSON erroring, it is extremely recommended to use PHP's https://www.php.net/manual/en/function.json-encode.php json_encode function to create the JSON to be used by the client. Here is an example of a joinscript:...")
 
No edit summary
Line 3: Line 3:


== Format ==
== Format ==
Joinscripts follow a specific structure in JSON for it to be parsed by the client. Make sure to keep the JSON valid and to not give it malformed data.


To prevent JSON erroring, it is extremely recommended to use PHP's [[https://www.php.net/manual/en/function.json-encode.php json_encode]] function to create the JSON to be used by the client.


Here is an example of a joinscript:
An example of what the client will receive as a joinscript is as follows:


  {"ClientPort":0,"MachineAddress":"127.0.0.1","ServerPort":25564,"PingUrl":"","PingInterval":20,"UserName":"John Doe","SeleniumTestMode":false,"UserId":123456,"SuperSafeChat":false,"CharacterAppearance":"https://your-website-here.com/charapp-blahlahvlah","ClientTicket":"your client ticket","GameId":3,"PlaceId":420,"MeasurementUrl":"","WaitingForCharacterGuid":"26eb3e21-aa80-475b-a777-b43c3ea5f7d2","BaseUrl":"https://your-website-here.com/","ChatStyle":"Classic","VendorId":0,"ScreenShotInfo":"","VideoInfo":"","CreatorId":42069,"CreatorTypeEnum":"User","MembershipType":"None","AccountAge":3000000,"CookieStoreFirstTimePlayKey":"rbx_evt_ftp","CookieStoreFiveMinutePlayKey":"rbx_evt_fmp","CookieStoreEnabled":true,"IsRobloxPlace":true,"GenerateTeleportJoin":false,"IsUnknownOrUnder13":false,"SessionId":"39412c34-2f9b-436f-b19d-b8db90c2e186|00000000-0000-0000-0000-000000000000|0|something random|8|2021-03-03T17:04:47+01:00|0|null|null","DataCenterId":0,"UniverseId":3,"BrowserTrackerId":0,"UsePortraitMode":false,"FollowUserId":0,"characterAppearanceId":1}
  {"ClientPort":0,"MachineAddress":"127.0.0.1","ServerPort":25564,"PingUrl":"","PingInterval":20,"UserName":"John Doe","SeleniumTestMode":false,"UserId":123456,"SuperSafeChat":false,"CharacterAppearance":"https://your-website-here.com/charapp-blahlahvlah","ClientTicket":"your client ticket","GameId":3,"PlaceId":420,"MeasurementUrl":"","WaitingForCharacterGuid":"26eb3e21-aa80-475b-a777-b43c3ea5f7d2","BaseUrl":"https://your-website-here.com/","ChatStyle":"Classic","VendorId":0,"ScreenShotInfo":"","VideoInfo":"","CreatorId":42069,"CreatorTypeEnum":"User","MembershipType":"None","AccountAge":3000000,"CookieStoreFirstTimePlayKey":"rbx_evt_ftp","CookieStoreFiveMinutePlayKey":"rbx_evt_fmp","CookieStoreEnabled":true,"IsRobloxPlace":true,"GenerateTeleportJoin":false,"IsUnknownOrUnder13":false,"SessionId":"39412c34-2f9b-436f-b19d-b8db90c2e186|00000000-0000-0000-0000-000000000000|0|something random|8|2021-03-03T17:04:47+01:00|0|null|null","DataCenterId":0,"UniverseId":3,"BrowserTrackerId":0,"UsePortraitMode":false,"FollowUserId":0,"characterAppearanceId":1}
Quite messy and unreadable, right?


{| class="wikitable" style="margin:auto"
{| class="wikitable" style="margin:auto"
|+ Caption text
|+ Caption text
|-
|-
! Header text !! Header text !! Header text
! Property Name !! Purpose !! Example Value
|-
| UserName || The username of the connecting player. || "JohnDoe"
|-
| CharacterAppearance || The CharacterAppearance field of the connecting player. || "https://your-website-here.com/charapp-blahlahvlah"
|-
| CharacterAppearanceId || The CharacterAppearanceId field of the connecting player. || 1
|-
| ServerPort || The port of the server the player will connect to. || 25564
|-
| ClientPort || The source port that will be used to connect to the server. (0 = random) || 0
|-
|-
| Example || Example || Example
| MachineAddress || The IP of the server the player will connect to. || "127.0.0.1"
|-
|-
| Example || Example || Example
| BaseUrl || The base URL of the game. || "https://roblox.com/"
|-
|-
| Example || Example || Example
| ClientTicket || ||
|}
|}


INCOMPLETE
INCOMPLETE

Revision as of 14:13, 1 July 2023

Joinscripts

Joinscripts are used to make a client connect to a gameserver.

Format

An example of what the client will receive as a joinscript is as follows:

{"ClientPort":0,"MachineAddress":"127.0.0.1","ServerPort":25564,"PingUrl":"","PingInterval":20,"UserName":"John Doe","SeleniumTestMode":false,"UserId":123456,"SuperSafeChat":false,"CharacterAppearance":"https://your-website-here.com/charapp-blahlahvlah","ClientTicket":"your client ticket","GameId":3,"PlaceId":420,"MeasurementUrl":"","WaitingForCharacterGuid":"26eb3e21-aa80-475b-a777-b43c3ea5f7d2","BaseUrl":"https://your-website-here.com/","ChatStyle":"Classic","VendorId":0,"ScreenShotInfo":"","VideoInfo":"","CreatorId":42069,"CreatorTypeEnum":"User","MembershipType":"None","AccountAge":3000000,"CookieStoreFirstTimePlayKey":"rbx_evt_ftp","CookieStoreFiveMinutePlayKey":"rbx_evt_fmp","CookieStoreEnabled":true,"IsRobloxPlace":true,"GenerateTeleportJoin":false,"IsUnknownOrUnder13":false,"SessionId":"39412c34-2f9b-436f-b19d-b8db90c2e186|00000000-0000-0000-0000-000000000000|0|something random|8|2021-03-03T17:04:47+01:00|0|null|null","DataCenterId":0,"UniverseId":3,"BrowserTrackerId":0,"UsePortraitMode":false,"FollowUserId":0,"characterAppearanceId":1}
Caption text
Property Name Purpose Example Value
UserName The username of the connecting player. "JohnDoe"
CharacterAppearance The CharacterAppearance field of the connecting player. "https://your-website-here.com/charapp-blahlahvlah"
CharacterAppearanceId The CharacterAppearanceId field of the connecting player. 1
ServerPort The port of the server the player will connect to. 25564
ClientPort The source port that will be used to connect to the server. (0 = random) 0
MachineAddress The IP of the server the player will connect to. "127.0.0.1"
BaseUrl The base URL of the game. "https://roblox.com/"
ClientTicket

INCOMPLETE