From f1fe606b24c5d1f273ffbc7247f18db8ba999123 Mon Sep 17 00:00:00 2001 From: GP Garcia Date: Thu, 8 Aug 2024 20:49:51 -0500 Subject: [PATCH] Changed CSS, updated front page, new external tooll, updated UGC --- docs/assets/stylesheets/extra.css | 13 ++- docs/classes/ugc.md | 7 ++ docs/index.md | 139 ++++++++++++++++++++---------- docs/tutorials/external.md | 6 ++ 4 files changed, 118 insertions(+), 47 deletions(-) diff --git a/docs/assets/stylesheets/extra.css b/docs/assets/stylesheets/extra.css index 4dd2c893..8b669b96 100644 --- a/docs/assets/stylesheets/extra.css +++ b/docs/assets/stylesheets/extra.css @@ -162,7 +162,7 @@ h3 { text-decoration: none !important; } .md-typeset .md-button { - padding: 1em 2em !important; + padding: 1em 1em !important; } .admonition a.md-button { text-align: center !important; @@ -502,6 +502,12 @@ html .md-footer-meta.md-typeset a:is(:focus, :hover) { background-color: #478CBF !important; padding: 5px 15px; } +.md-typeset .grid { + grid-gap: 3rem; + display: grid; + grid-template-columns: repeat(auto-fit,minmax(min(100%,16rem),1fr)); + margin: 1em 0; +} .grid { display: inline-block; width: 45%; @@ -1408,4 +1414,9 @@ body[dir=rtl] .metadata.page-metadata .contributors-text{ } .md-nav--primary .md-nav__item > .md-nav__link:hover { color: white !important; +} +span.version { + width: 5em; + font-size: 1.3em; + font-weight: bold; } \ No newline at end of file diff --git a/docs/classes/ugc.md b/docs/classes/ugc.md index 32f449b0..cc78f251 100644 --- a/docs/classes/ugc.md +++ b/docs/classes/ugc.md @@ -934,6 +934,13 @@ Functions to create, consume, and interact with theĀ [Steam Workshop](https://pa --- [:fontawesome-brands-steam: Read more in the official Steamworks SDK documentation](https://partner.steamgames.com/doc/api/ISteamUGC#SetRankedByTrendDays){ .md-button .md-button--store target="_blank" } +### setRequiredGameVersions + +!!! function "setRequiredGameVersions( ```uint64_t``` query_handle, ```String``` game_branch_min, ```String``` game_branch_max)" + An empty string for either parameter means that it will match any version on that end of the range. This will only be applied if the actual content has been changed. + + **Returns:** bool + ### setReturnAdditionalPreviews !!! function "setReturnAdditionalPreviews( ```uint64_t``` query_handle, ```bool``` return_additional_previews )" diff --git a/docs/index.md b/docs/index.md index 26ef4555..13483d5d 100644 --- a/docs/index.md +++ b/docs/index.md @@ -8,11 +8,12 @@ Welcome! If you find any mistakes or have some additions to make, [please check ## Where Do I Start? ==} -### Fastest Start -#### GDExtension / GDNative Plug-ins +### In Most Cases -Most users will want to install the GDExtension or GDNative plug-in to quickly use GodotSteam. To get started: +Most users will just want to [install the GDExtension or GDNative plug-in to quickly use the standard GodotSteam.](https://godotengine.org/asset-library/asset/2445){ target="\_blank" } + +**To get started**: - [x] Open your Godot editor - [x] Click on the 'Assets' tab @@ -20,45 +21,26 @@ Most users will want to install the GDExtension or GDNative plug-in to quickly u - [x] If using Godot 4.x, install the GDExtension 4.1 / 4.2 plug-in - [ ] If using Godot 3.x, install the GDNative plug-in -You may need to restart your browser but the plug-in does not need to be enabled manually. Check by calling the **Steam** class. - -#### Pre-Compiled Bundles - -Or, similar to Godot itself, you can download the pre-compiled editor / template versions from Github; [which are linked below.](#download-it) - -- [x] Download the Pre-Compile Editor / Template bundle below -- [x] Extract it -- [x] Run the editor - -### Differences Between Pre-Compiles and Plug-ings - -For the most part, the pre-compiles and plug-ins are functionally the same. One major difference is the plug-ins have no in-editor documentation. - -GDNative, however, has no access to Steam constants or enums, an issue with Rich Presence on Windows, others which are documented in the [Common Issues section.](issues/common_issues.md/#gdnative) - -### Master / Dedicated Servers +You may need to restart your editor but the _plug-in does not need to be enabled_ manually. Check by calling the **Steam** class. -The GodotSteam Server builds are meant for master or player-hosted / run dedicated servers and have the same available options as the standard GodotSteam builds: pre-compiled editor / template bundles, GDExtension plug-in, and GDNative plug-in. The server builds have Steam server classes and very few of the standard classes. +**However, you might be trying to make something else.** If so, keep reading to find out about other versions of GodotSteam. -### C-Sharp Users +--- -As there are currently no .NET-enabled versions of GodotSteam, you will want to [download the GodotSteam C# Bindings from LauraWebdev.](https://github.com/LauraWebdev/GodotSteam_CSharpBindings){ target="\_blank" } [Also check out ChickenSoft for other C# tools and tips.](https://chickensoft.games/){ target="\_blank" } +### What Are You Making? -{== -## Download It -==} - -These downloads contain everything you need to start working with Steamworks. [Previous versions of all branches can be found on Github.](https://github.com/GodotSteam/GodotSteam/releases){ target="\_blank" } - -Pre-compiled editors and template zips are self-contained and have everything you need to work with GodotSteam. The GDNative and GDExtension plug-ins require [an official version of Godot Engine.](https://godotengine.org){ target="\_blank" } +Depending on what your end goals are, you will probably want to use a different version of GodotSteam. See which of the following best fits your project.
-- :simple-godotengine:{ .godotsteam .lg .middle } __Godot 4.1.x / Godot 4.2.x Versions__ +- :material-gamepad-variant:{ .godotsteam .lg .middle } __Singleplayer or Steam Networking__ + + You are making a singleplayer game or a multiplayer game that solely uses Steam's networking classes. You also might be just checking things out. You will want the standard GodotSteam version. --- + Godot 4 [ :simple-godotengine:{ .godotengine title="Godot Engine" } @@ -85,14 +67,46 @@ Pre-compiled editors and template zips are self-contained and have everything yo [ :fontawesome-brands-github: Pre-compiled Editor and Templates](https://github.com/GodotSteam/GodotSteam/releases/tag/v4.9){ .md-button .md-button--downloads target="\_blank" } [:octicons-plug-24: GDExtension | Godot Asset Library](https://godotengine.org/asset-library/asset/2445){ .md-button .md-button--downloads target="\_blank" } + + --- - [ :fontawesome-solid-people-group: MultiplayerPeer Editor and Templates](https://github.com/GodotSteam/GodotSteam/releases/tag/v4.9-mp){ .md-button .md-button--downloads target="\_blank" } + + Godot 3 + + [ + :simple-godotengine:{ .godotengine title="Godot Engine" } + | + 3.5.3 + ] + + + [ + :simple-steam:{ .steam title="Steamworks SDK" } + | + 1.60 + ] + + + [ + :simple-godotengine:{ .steam title="GodotSteam" } + | + 3.26 + ] + + -- :simple-godotengine:{ .godotsteam .lg .middle } __Server 4.1.x / 4.2.x Versions__ + [ :fontawesome-brands-github: Pre-compiled Editors and Templates](https://github.com/GodotSteam/GodotSteam/releases/tag/v3.26){ .md-button .md-button--downloads target="\_blank" } + + [ :octicons-plug-24: GDNative | Godot Asset Library](https://godotengine.org/asset-library/asset/1045){ .md-button .md-button--downloads target="\_blank" } + +- :fontawesome-solid-people-group:{ .godotsteam .lg .middle } __Multiplayer Using Godot's Nodes__ + + You are making a multiplayer game using Godot 4's multiplayer nodes like synchronizer and spawner but you want to use Steam's networking with it. Sounds like you want the MultiplayerPeer version. --- + Godot 4 [ :simple-godotengine:{ .godotengine title="Godot Engine" } @@ -104,32 +118,55 @@ Pre-compiled editors and template zips are self-contained and have everything yo [ :simple-steam:{ .steam title="Steamworks SDK" } | - 1.59 + 1.60 ] [ - :octicons-server-24:{ .steam title="GodotSteam Server" } + :simple-godotengine:{ .steam title="GodotSteam MultiplayerPeer" } | - 4.3 + 4.9 ] - [ :octicons-server-24: Server Pre-Compiled Editors and Templates](https://github.com/GodotSteam/GodotSteam-Server/releases/tag/v4.3){ .md-button .md-button--downloads target="\_blank" } + [ :fontawesome-solid-people-group: MultiplayerPeer Editor and Templates](https://github.com/GodotSteam/GodotSteam/releases/tag/v4.9-mp){ .md-button .md-button--downloads target="\_blank" } - [ :octicons-plug-24: Server GDExtension](https://godotengine.org/asset-library/asset/2218){ .md-button .md-button--downloads target="\_blank" } + --- + + [

ExpressoBit's SteamMultiplayerPeer

](https://github.com/expressobits/steam-multiplayer-peer){ target="\_blank" } + + A separate project using Steam Sockets networking class with Godot's multiplayer nodes and available as a GDExtension. + + [ :octicons-plug-24: Expresso SteamMultiplayerPeer GDExtension](https://godotengine.org/asset-library/asset/2258){ .md-button .md-button--downloads target="\_blank" } + +- :simple-dotnet:{ .godotsteam .lg .middle } __C# In General__ + + You are making a singleplayer or multiplayer game with only Steam's networking classes or also with Godot's multiplayer nodes in C#. You also might be checking things out with C#. + + Sadly, there are currently no .NET-enabled versions of GodotSteam yet. However, you can use LauraWebdev's C# bindings with any version of standard version of GodotSteam. + + If you would like to help resolve this issue, we are trying to create Github Action processes to reliably build pre-compiles and templates. [Feel free to check out our existing workflows to edit in C# versions by pull request.](https://github.com/GodotSteam/GodotSteam/){ target="\_blank" } + + --- + + [ :fontawesome-brands-github: GodotSteam C# Bindings From LauraWebdev](https://github.com/LauraWebdev/GodotSteam_CSharpBindings){ .md-button .md-button--downloads target="\_blank" } + + [ :octicons-tools-24: ChickenSoft For C# Tools and Tips](https://chickensoft.games/){ .md-button .md-button--downloads target="\_blank" } -- :simple-godotengine:{ .godotsteam .lg .middle } __Godot 3.5.3 Versions__ +- :octicons-server-24:{ .godotsteam .lg .middle } __Master or Dedicated Server__ + You are making a master server that runs somewhere and players connected to it or a dedicated server that players can run themselves and other players connect to that. In that case, you will want to use the GodotSteam Server builds. + --- + Godot 4 [ :simple-godotengine:{ .godotengine title="Godot Engine" } | - 3.5.3 + 4.2.2 ] @@ -143,20 +180,19 @@ Pre-compiled editors and template zips are self-contained and have everything yo [ :simple-godotengine:{ .steam title="GodotSteam" } | - 3.26 + 4.9 ] - [ :fontawesome-brands-github: Pre-compiled Editors and Templates](https://github.com/GodotSteam/GodotSteam/releases/tag/v3.26){ .md-button .md-button--downloads target="\_blank" } - - [ :octicons-plug-24: GDNative | Godot Asset Library](https://godotengine.org/asset-library/asset/1045){ .md-button .md-button--downloads target="\_blank" } + [ :octicons-server-24: Server Pre-Compiled Editors and Templates](https://github.com/GodotSteam/GodotSteam-Server/releases/tag/v4.3){ .md-button .md-button--downloads target="\_blank" } -- :simple-godotengine:{ .godotsteam .lg .middle } __Server 3.5.3 Versions__ + [ :octicons-plug-24: Server GDExtension](https://godotengine.org/asset-library/asset/2218){ .md-button .md-button--downloads target="\_blank" } --- + Godot 3 [ :simple-godotengine:{ .godotengine title="Godot Engine" } @@ -183,9 +219,20 @@ Pre-compiled editors and template zips are self-contained and have everything yo [ :octicons-server-24: Server Pre-compiled Editors and Templates](https://github.com/GodotSteam/GodotSteam-Server/releases/tag/v3.3){ .md-button .md-button--downloads target="\_blank" } [ :octicons-plug-24: Server GDNative | Godot Asset Library](https://godotengine.org/asset-library/asset/2222){ .md-button .md-button--downloads target="\_blank" } -
+--- + +### Differences Between Pre-Compiles and Plug-ings + +For the most part, the pre-compiles and plug-ins are functionally the same. One major difference is the plug-ins have no in-editor documentation. + +GDNative, however, has no access to Steam constants or enums, an issue with Rich Presence on Windows, others which are documented in the [Common Issues section.](issues/common_issues.md/#gdnative) + +[Previous versions of all branches can be found on Github.](https://github.com/GodotSteam/GodotSteam/releases){ target="\_blank" } + +Pre-compiled editors and template zips are self-contained and have everything you need to work with GodotSteam. The GDNative and GDExtension plug-ins require [an official version of Godot Engine.](https://godotengine.org){ target="\_blank" } + {== ## Compile It Yourself ==} diff --git a/docs/tutorials/external.md b/docs/tutorials/external.md index 983215e5..dfab245a 100644 --- a/docs/tutorials/external.md +++ b/docs/tutorials/external.md @@ -50,6 +50,12 @@ We have quite a few tutorials and many more in the works but the more the merrie [ :simple-godotengine: 'Overview of debugging tools' by Godot ](https://docs.godotengine.org/en/stable/tutorials/scripting/debug/overview_of_debugging_tools.html){ .md-button .md-button--resource target="\_blank" } +{== +## GodotSteam-related Tools +==} + +[ :simple-steam: 'GodotSteamSync' by Radome Studio ](https://github.com/Radome-Studio/GodotSteamSync){ .md-button .md-button--resource target="\_blank" } + {== ## Steam-related Godot Tools ==}