Comments (2)
We encountered this issue as well.
Our current workaround is to avoid using the PlayFabSDK and directly make API calls via axios.
Example snippet:
const PLAYFAB_URL = `https://${PlayFab.settings.titleId}.playfabapi.com`;
export class PlayfabTitleRequestSession {
private _entityToken: string | undefined;
private requestTitleEntityToken = (): Promise<
PlayFabAuthenticationModels.GetEntityTokenResponse
> =>
new Promise((resolve, reject) => {
axios
.post(
`${PLAYFAB_URL}/Authentication/GetEntityToken`,
{
Id: '231',
Type: 'title',
},
{
headers: {
'X-SecretKey': PlayFab.settings.developerSecretKey,
},
}
)
.then(response => resolve(response?.data?.data))
.catch(err => reject(err));
});
private titleEntityToken = async (): Promise<string> => {
if (this._entityToken) return this._entityToken;
const entityToken = (await this.requestTitleEntityToken()).EntityToken;
this._entityToken = entityToken || '';
return this._entityToken;
};
private playfabRequest = async <T>(endpoint: string, parameters: object): Promise<T> => {
const entityToken = await this.titleEntityToken();
return new Promise((resolve, reject) => {
axios
.post(endpoint, parameters, {
headers: {
'X-EntityToken': entityToken,
},
})
.then(response => resolve(response?.data?.data))
.catch(err => reject(err));
});
};
startServer = async (
sessionId: string,
sessionCookie: SessionCookieType,
buildId: string,
preferredRegions = ['EastUs']
) =>
this.playfabRequest<PlayFabMultiplayerModels.RequestMultiplayerServerResponse>(
`${PLAYFAB_URL}/MultiplayerServer/RequestMultiplayerServer`,
{
BuildId: buildId,
PreferredRegions: preferredRegions,
SessionCookie: JSON.stringify(sessionCookie),
SessionId: sessionId,
}
);
shutdownServer = async (sessionId: string) =>
this.playfabRequest<PlayFabMultiplayerModels.EmptyResponse>(
`${PLAYFAB_URL}/MultiplayerServer/ShutdownMultiplayerServer`,
{
SessionId: sessionId,
}
);
}
from nodesdk.
Thanks for your answer @IanGallacher I totally missed it, but I ended up doing the same. I consider publishing it, but not sure I want to take on the maintenance burden.
from nodesdk.
Related Issues (18)
- Have you published a NPM module yet? HOT 1
- ProfileConstraints marked as number, should probably be different structure HOT 7
- Latest package does not include root imports. HOT 4
- PlayerProfileViewConstraints typings: Variables with default value marked as required
- [Enhancement request] On Request functions return a promise and set callback as optional argument
- Missing `AccessToken` param on `LoginWithGoogleAccountRequest` object causes compile error when using TypeScript
- [Question] How to remove session token from PlayFabClient? HOT 1
- [Question] Will this package's releases no longer be published to npm registry?
- [Question] Should the IPlayFabResultCommon interface extend the IPlayFabError interface?
- Setting EntityToken manually to request multiplayer server HOT 1
- [Question] How to set entityToken and SessionTicket in PlayFab SDK?
- Cannot find module 'playfab-sdk/PlayFab' - supposed architectural problem HOT 5
- Do not throw strings HOT 3
- Update typings to new standards HOT 2
- Do not ship redundant files HOT 2
- Does this support async/await? HOT 2
- Linting error: index.d.ts on Value HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nodesdk.