Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add OpenDream support and SessionId #1666

Merged
merged 196 commits into from
Nov 20, 2023
Merged

Add OpenDream support and SessionId #1666

merged 196 commits into from
Nov 20, 2023

Conversation

Cyberboss
Copy link
Member

@Cyberboss Cyberboss commented Oct 9, 2023

🆑
TGS now supports running DreamMaker coded games with OpenDream, the open source reimplementation of BYOND. Note that TGS requires the dotnet SDK version supported by the OpenDream version you'd like to use alongside it's normal ASP.NET Core runtime to build it.
The repository cloning job now reports checkout progress.
Fixed rare DreamDaemon startup failure that may occur due to a lingering socket.
Event scripts containing "Byond" in their names have been updated to use "Engine" instead. Old names will continue function.
Socket bind tests will now retry for up to 5s before failing with an AddressInUse exception.
Added a workaround for a potential hang while recording process output.
/:cl:

🆑 HTTP API
There has been a major version bump to API version 10.
The entire /Byond route has been removed.
Added new /Engine route and associated models. This has similar functions to the old /Byond route while being engine agnostic so as to support OpenDream.
InstancePermissionSet.byondRights has been renamed to InstancePermissionSet.engineRights.
CompileJobResponse.byondVersion changed to new CompileJobResponse.engineVersion model.
Added DreamDaemonResponse.sessionId which is a unique ID for the current server execution.
/:cl:

🆑 Nuget: Api
Performed all API 10 model changes.
/:cl:

🆑 Nuget: Client
Performed all API 10 client changes.
/:cl:

🆑 DreamMaker API
Various event names changed to be engine agnostic.
Corrected documentation that stated a /datum/tgs_version engine version would be returned to properly say they will be stringified.
Added enums and function for retrieving the current engine version.
/:cl:

Closes #1577

Required:

@Cyberboss Cyberboss added this to the v6.0.0 milestone Oct 9, 2023
@JohnFulpWillard
Copy link
Member

Big

@Cyberboss Cyberboss force-pushed the OpenDream branch 2 times, most recently from ca76ce7 to 45a4498 Compare October 9, 2023 19:16
@Cyberboss Cyberboss force-pushed the OpenDream branch 2 times, most recently from d4e01a5 to eaa3bad Compare October 9, 2023 19:31
Drop support for custom OD repositories, hopefully fix custom installs.

Need to go back to the git strat because of submodules
- Make use of `world.opendream_topic_port` in DMAPI if present. Send in initial bridge request.
- Implement compiler and server arguments for `OpenDreamInstallation`.
- Deprecate bridge port update requests.
- Prevent symlink swapping if not running a BYOND engine.
@Cyberboss Cyberboss changed the title Add OpenDream support Add OpenDream support and SessionId Nov 19, 2023
Also fixes logic error in `AdvancedWatchdog.HandleNewDmbAvailable` in the `EngineType.OpenDream` case.
github-actions[bot]
github-actions bot previously approved these changes Nov 19, 2023
github-actions[bot]
github-actions bot previously approved these changes Nov 20, 2023
@Cyberboss Cyberboss merged commit 9b7e0c5 into V6 Nov 20, 2023
98 checks passed
@Cyberboss Cyberboss deleted the OpenDream branch November 20, 2023 14:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: Compiler With regard to managing the deployment process Area: DMAPI Communication between TGS and DM Area: Engine With regard to managing engine installations Area: Watchdog With regard to managing DreamDaemon servers Breaking API Change Requires a major API version bump CI/CD IT'S NOT A PHASE MOM, IT'S A REAL SPECIALIZATION Client Issue with the .NET client library Component Issue Issue regarding the service components Configuration Regarding the server setup JSON Controller Issue Issue regarding the HTTP request controllers Feature New functionality Fix Fixes incorrect functionality Logging Adding, removing, or lack of informational log output Migration Requires or performs a database migration Refactor Refactor functionality for future improvements REST The JSON REST API for server control Watchdog: Basic Issue with the BasicWatchdog
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support OpenDream as a BYOND installation
2 participants