/gtac_roleplay

Vortrex's Roleplay Resource for GTA Connected

Primary LanguageJavaScriptApache License 2.0Apache-2.0

Vortrex's Roleplay Resource

Description

This is Vortrex's Roleplay Resource

Setup

  • Download the server from the downloads page of the GTA Connected website.
  • Download this resource via git clone or directly from GitHub with the green zip download button.
  • Add this resource as-is into a resource folder of your choice inside the resources directory of your server. I named my resource folder "gtac_roleplay"
  • Add the resource to the server config. You should also disable a lot of the cvars in the config too. I only have traffic, civilians, planes, and bigmap enabled.
  • Download the required modules and add them to your server config. See list of modules below.
  • Import the database to your MySQL server, and edit database.json in the resource's config folder with the info to connect to the database.
  • (Optional) Edit the email SMTP connection info. Without this, the email features will be disabled.
  • Start the server and connect. Register your account, make a character, and disconnect.
  • Edit your account in the database (get your account ID from the acct_main table and then edit the four entries in acct_svr for your account, changing acct_svr_staff_flags to negative 1 (-1) ... you must not be connected to the server when doing this
  • You now have full admin. Enjoy the resource!

Modules

Git Branches

  • master/main - The current release. Never commit to this branch directly
  • nightly - The next upcoming release. All feature/fix/change branches are merged into this one
  • feature/fix/change - This is where the stuff currently being working on goes into.

Scripting Style

  • Always use camelCase, even for event names.
  • Use a util function where possible. Keep raw logic in command/event/network handlers to a minimum.
  • Keep opening curly brackets in-line. Don't linebreak before an opening curly brackets.
  • Use sentence case instead of adjacent uppercase letters in class/member names. (i.e. Id instead of ID)
  • Use generic, non-specific class member names wherever possible. (i.e. databaseId instead of accountId)
  • All communications from server to client are handled in server-side client.js script file via utils
  • All communications from client to server are handled in client-side server.js script file via utils
  • All server events are handled in event.js script file, sometimes with utils.

Database Style

  • Always use lowercase.
  • Shorten prefix names to four characters or less (i.e. acct=account, veh=vehicle)
  • Add an underscore between each word
  • Append _main to any tables that store primary data (i.e. acct_main, ban_main, etc)
  • Prefix field names with the table name, except for _main tables (i.e. acct_id, job_loc_id)
  • Tables use primary index on their ID column.
  • Tables use both secondary indexes & cascading foreign key links to any ID that points to another table

Notes

  • The resource is designed to load the script files first, then initialize after that's done.
  • The IDEAS.md file is not a to-do list. It's just a random file to throw ideas into when they come to mind.
  • Bitwise values are used for several different aspects related to permissions. The value of -1 is always used as "all flags" for that set.