-
Notifications
You must be signed in to change notification settings - Fork 114
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
README overhaul: More complete, and organize as separate pages #101
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is one note that maybe should still be added, and that is to not call ReadyForPlayers in the callback of a web request or in the callbacks of PlayFab API calls from the PlayFab SDK, as otherwise the game enters a deadlock, because the HTTP module uses a mutex internally to lock adding in new http requests to the queue. If the then calls ready for players, it will mean that the heartbeat requests will wait for this lock to be released
Cross reference new and existing files. Add a new file for testing new deployments locally (Placeholder)
Determined that I missed a guide/step which is the required various build configurations for the example project. Sequentially linking all the docs together in navigation. Fixing typos, bugs, and clarifications
Acknowledge your comment about ReadyForPlayers. I'm going to investigate a code level fix (Like throw an exception instead of deadlock). If I can't work it out, I'll add the comment as you suggest. |
…oss refs Some cleanup and consistency.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When linking other documents in the readme guides you should leave out /en-US/ as this is country specific. This will ensure the linked documentation will point to the country/language link of the user. Examplehttps://docs.unrealengine.com/4.27/en-US/InteractiveExperiences/Networking/HowTo/DedicatedServers/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added a few more comments. Tons of great information. I love all the details. Just need more time to make it shine. :)
UnrealPlugin/README.md
Outdated
@@ -1,4 +1,5 @@ | |||
# Instructions on Integrating the PlayFab GSDK Unreal Plugin Preview | |||
|
|||
This Unreal Plugin is implementing the GSDK directly in Unreal Engine. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"This article describes how to integrate PlayFab Multiplayer Server SDK (GSDK) Unreal Online Subsystem (OSS) plugin with your Unreal game project."
UnrealPlugin/README.md
Outdated
@@ -1,4 +1,5 @@ | |||
# Instructions on Integrating the PlayFab GSDK Unreal Plugin Preview | |||
|
|||
This Unreal Plugin is implementing the GSDK directly in Unreal Engine. | |||
|
|||
This plugin offers both a Blueprint API and a C++ API. This does however not mean that the Blueprint API does not require the game to be a C++ project. If it is currently a Blueprint only project, then you need to convert it beforehand, before adding the plugin. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Slightly unclear on what game project it should be.
Perhaps you mean that the game project needs to be a C++ project using Blueprint or a C++ project? Only one of the two types?
If so, consider changing the sentence.
"This plugin supports two specific types of Unreal project types&mdash ;C++ and C++ with Blueprint. If your project is currently a Blueprint only project but is not using C++, you'll need to convert it into a C++ Blueprint project before adding the plugin."
Good to add instructions or links on how to convert to a C++ project. Highlight that the link is an external link.
|
||
### Adding the plugin to the project | ||
|
||
When using the plugin a few things need to be taken care off. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Change to a list so it's easier to follow.
"
- Go to your Unreal game project
- Open File Explorer and create a "Plugins" folder in your games' root directory. In the Plugins folder, create a folder called "PlayFabGSDK".
- Go to the location where you've downloaded and saved the GSDK Unreal plugin. Drag all the files from the UnrealPlugin folder into the Plugins/PlayFabGSDK folder.
- Lastly, open your game project's .uproject file in a text editor of your choice. In the plugins array, add the PlayFabGSDK plugin.
"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bold actual folder and file names to adhere to Microsoft style.
|
||
## Blueprint implementation | ||
|
||
In a folder of your choice in the Content Browser right-click and create a Blueprint class. In the All classes dropdown menu find the GameInstance class. In this example the blueprint is named "BP_GameInstance". |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use similar principles as above. Use bulleted list to make it easier to follow the steps. Have a summarized list of all the steps if it's a multiple step process.
* [Optional] [PlayFab Marketplace plugin](https://www.unrealengine.com/marketplace/product/playfab-sdk) or the [source version on GitHub](https://github.com/PlayFab/UnrealMarketplacePlugin/tree/master/4.26/PlayFabPlugin/PlayFab). This plugin is not required for GSDK but is required for many PlayFab services, including login. | ||
|
||
## C++ Implementation | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add a summary list of all the steps here at the top. It looks like there are multiple steps.
Example:
- Add PlayFab GSDK Unreal OSS plugin to the game project
- Include plugin in the module
- Update project source code to use PlayFab Multiplayer Servers
- Create or update GameInstance class
@@ -0,0 +1,118 @@ | |||
# ThirdPersonMP Example Project Local Deployment and Debugging |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How to deploy and debug game servers locally
@@ -0,0 +1,118 @@ | |||
# ThirdPersonMP Example Project Local Deployment and Debugging | |||
|
|||
The purpose of this guide is to demonstrate running your game-server on your local machine, in a MPS-compliant way, so you can test and debug your server before uploading it to PlayFab. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"This guide uses the ThirdPersonMPLocalDeploy sample to demonstrate how to run game servers on your local machine and ensure that they are compliant with PlayFab Multiplayer Server service. It enables you to test and debug servers locally before uploading them to PlayFab."
* ["Development Server"](ThirdPersonMPBuild.md) configuration of your project built from Visual Studio | ||
* [Optional] Download the [LocalMultiplayerAgent](https://github.com/PlayFab/MpsAgent/releases) | ||
* [Optional] Alternatively, download [LocalMultiplayerAgent source](https://github.com/PlayFab/MpsAgent/tree/main/LocalMultiplayerAgent). | ||
* "Debug" or "Release" configuration of LocalMultiplayerAgent built from this repo with Visual Studio |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Build LocalMultiplayerAgent using Visual Studio.
* [Optional] Download the [LocalMultiplayerAgent](https://github.com/PlayFab/MpsAgent/releases) | ||
* [Optional] Alternatively, download [LocalMultiplayerAgent source](https://github.com/PlayFab/MpsAgent/tree/main/LocalMultiplayerAgent). | ||
* "Debug" or "Release" configuration of LocalMultiplayerAgent built from this repo with Visual Studio | ||
* Load [MpsAgent.sln](https://github.com/PlayFab/MpsAgent/blob/main/MpsAgent.sln) in Visual Studio, select configuration, build LocalMultiplayerAgent project |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Open [MpsAgent.sln] (https://github.com/PlayFab/MpsAgent/blob/main/MpsAgent.sln) in Visual Studio. Select either debug or release configuration and then build the LocalMultiplayerAgent project.
First, the main readme page is now just sequential list linking the other pages.
Each other page has a specific limited scope and goal.
The other pages sequentially link to each next page, and back to the main page.
Previous details that were in the singular readme are transferred to the individual section documents.
New documents are created to cover gaps in the setup which were previously just assumed.