Start Documenting Roblox's Standard Scripts#1453
Start Documenting Roblox's Standard Scripts#1453karl-police wants to merge 34 commits intoRoblox:mainfrom
Conversation
…tent/en-us/roblox-scripts/PlayerModule/index.md
|
Hi @karl-police , Are there specific points that you'd like clarified from these scripts, such as camera rendering details that may not be well documented (or perhaps not at all) under related guides and API docs for Camera? If so, perhaps we can work in those details to other places... |
The camera rendering. It could go to RenderStepped and BindToRenderStep to give the clue on what to watch out for. e.g.
One of these RenderStep fires a cast, while the other one changes the camera. If the cast happens before the camera change, you may get a unexpected result. But "RNG" because it's a race condition on which one "Connects" first. Something like that.
For the other things. The ObjectValues where you can change the keybinds, I think these are super specific to the Roblox Standard Scripts, yet useful. Since these scripts change overtime, maybe older documentation about them could get archived 🤷 but still be available in the Creator Docs |
|
Found this old page: https://web.archive.org/web/20200304050359/https://developer.roblox.com/en-us/articles/customizing-game-controls There's also a few other pages that I used to know about once. Like this one: https://web.archive.org/web/20191014231924/https://developer.roblox.com/en-us/articles/Bezier-curves But I think there was another one with ease-in I think. Not this one: https://web.archive.org/web/20120803044539/http://wiki.roblox.com/index.php/Parametric_equations It was something else. It was like EasingStyle but with math instead. Doesn't seem to be this one either https://web.archive.org/web/20180805200548/http://robloxdev.com:80/articles/Lerp I didn't even know pages like these existed: https://web.archive.org/web/20180207161209/http://wiki.roblox.com/index.php?title=Quaternion |
Best practices for creating a GitHub AppFollow these best practices to improve the security and performance of your GitHub App. Select the minimum permissions requiredWhen you register a GitHub App, select the minimum permissions that your GitHub App needs. If any keys or tokens for your app become compromised, this will limit the amount of damage that can occur. For more information about how to choose permissions, see Choosing permissions for a GitHub App. When your GitHub App creates an installation access token or user access token, you can further limit the repositories that the app can access and the permissions that the token has. For more information, see Generating an installation access token for a GitHub App and Generating a user access token for a GitHub App. Stay under the rate limitSubscribe to webhook events instead of polling the API for data. This will help your GitHub App stay within the API rate limit. For more information, see Using webhooks with GitHub Apps and Building a GitHub App that responds to webhook events. Consider using conditional requests to help you stay within the rate limit. For more information about conditional requests, see Best practices for using the REST API. If possible, consider using consolidated GraphQL queries instead of REST API requests to help you stay within rate limits. For more information, see Comparing GitHub's REST API and GraphQL API and GitHub GraphQL API documentation. If you do hit a rate limit and need to retry an API request, use the Secure your app's credentialsYou can generate a private key and client secret for your GitHub App. Private keys are used to generate installation access tokens, while client secrets are used to get user access tokens and refresh tokens. These tokens can be used to make API requests on behalf of an app installation or user. You must store private keys, tokens, and client secrets securely. However, the storage mechanism and its relative security depends on your integrations architecture and the platform that it runs on. In general, you should use a storage mechanism that is intended to store sensitive data on the platform that you are using. Private keysThe private key for your GitHub App grants access to every account that the app is installed on. It must be stored securely and never shared broadly. Consider storing your GitHub App's private key in a key vault, such as Azure Key Vault, and making it sign-only. Alternatively, you can store the key as an environment variable. However, this is not as strong as storing the key in a key vault. If an attacker gains access to the environment, they can read the private key and gain persistent authentication as the GitHub App. You should never hard code your private key in your app, even if your code is stored in a private repository. If your app is a native client, client-side app, or runs on a user device (as opposed to running on your servers), you must never ship your private key with your app. You should not generate more private keys than you need. You should delete private keys that are no longer in use. For more information, see Managing private keys for GitHub Apps. Client secretsClient secrets are required to generate user access tokens for your app, unless your app uses the device flow. For more information, see Generating a user access token for a GitHub App. If your app is a confidential client, meaning it can safely keep the client secret secure, consider storing your client secret in a key vault, such as Azure Key Vault, or as an encrypted environment variable or secret on your server. If your app is a public client (a native app that runs on the user's device, CLI utility, or single-page web application), you cannot secure your client secret. You will have to ship the client secret in the application's code, and you should use PKCE to better secure the authentication flow. You should use caution if you plan to gate access to your own services based on tokens generated by your app because public clients are trivially spoofable - anyone can reuse your app's client ID to sign in. Don't enable device flow without reasonIt is preferable to use the authorization code with PKCE over the device flow, if you are concerned about using the client secret in a public client. The device flow does not require redirect URIs at all, which means that an attacker can use the device flow to remotely impersonate your app as part of a phishing attack. For this reason, do not enable the device flow for your application unless you are using the app in a constrained environment (CLIs, IoT devices, or headless systems). Installation access tokens, user access tokens, and refresh tokensInstallation access tokens are used to make API requests on behalf of an app installation. User access tokens are used to make API requests on behalf of a user. Refresh tokens are used to regenerate user access tokens. Your app can use its private key to generate an installation access token. Your app can use its client secret to generate a user access token and refresh token. If your app is a website or web app, you should encrypt the tokens on your back end and ensure there is security around the systems that can access the tokens. Consider storing refresh tokens in a separate place from active access tokens. If your app is a native client, client-side app, or runs on a user device (as opposed to running on your servers), you may not be able to secure tokens as well as an app that runs on your servers. You should not generate installation access tokens since doing so requires a private key. Instead, you should generate user access tokens. You should store tokens via the mechanism recommended for your app's platform, and keep in mind that the storage mechanism may not be fully secure. Use the appropriate token typeGitHub Apps can generate installation access tokens or user access tokens in order to make authenticated API requests. Installation access tokens will attribute activity to your app. These are useful for automations that act independently of users. User access tokens will attribute activity to a user and to your app. These are useful for taking actions based on user input or on behalf of a user. An installation access token is restricted based on the GitHub App's permissions and access. A user access token is restricted based on both the GitHub App's permission and access and the user's permission and access. Therefore, if your GitHub App takes an action on behalf of a user, it should always use a user access token instead of an installation access token. Otherwise, your app might allow a user to see or do things that they shouldn't be able to see or do. Your app should never use a personal access token or GitHub password to authenticate. Check authorization thoroughly, durably, and oftenAfter signing in a user, app developers must take additional steps to ensure that the user is meant to have access to the data in your system. You must routinely check that their memberships, access, and their current SSO status all allow access to your application and the resources it protects. Use the durable, unique
|

Checks
By submitting your pull request for review, you agree to the following:
Changes
The changes introduce early documentation about Roblox's Standard Scripts. This is important because things like the
CameraModuledo things is important to know about. For instance, the RenderPriority of the Camera and how it changes theCFrameof the camera. Otherwise, it causes confusion.The current text and information is through careful analyzing and from Roblox's own comments within the code. There is not much documentation yet, because I happen to find bugs that need to be resolved before this documentation can continue. Until then, I want to share my vision on how these documentation could be structured and look like and hope to have this PR accepted, which provide this initial set up for documenting Roblox's Standard Scripts, as I did all these changes just by using the GitHub websites. I even had to temporarily change
.gitattributesjust to upload a PNG.It also adds info about
BoundKeyswhich is aStringValuethat is comma-separated and can be overwritten to change the bindings for Shift-Lock.This documentation is necessary so that there's also official guidelines on what can be done and what shouldn't be done. Keep in mind that the PlayerModule says that a Creator is allowed to access things that it provides, but never had a documentation.
Bug Reports: