2023-03-05 20:44:13 -06:00
2023-03-03 01:31:57 -06:00
2022-03-29 21:03:38 -05:00
2023-02-28 22:35:30 -06:00
2023-03-02 08:12:21 -06:00
2023-03-04 08:33:26 -06:00
2023-03-05 20:44:13 -06:00
2023-02-26 20:08:27 -06:00
2023-03-03 01:27:21 -06:00
2023-02-20 21:36:38 -06:00
2023-03-02 05:15:26 -06:00
2021-06-21 10:34:55 -05:00
2023-02-28 22:35:30 -06:00
2023-02-18 14:20:37 -06:00

Vortrex's Roleplay Resource

Description

This is Vortrex's Roleplay Resource. Originally created for GTA Connected but support for other multiplayer mods coming soon!

Supported Games and Multiplayer Mods

Features

Some features may be disabled on specific multiplayer mods depending on functionality

  • Works on multiple server instances sharing the same database
  • Jobs operate as factions but leader can make ranks "public" so anybody can use those if enabled.
  • Clans with custom ranks, permissions, pay, titles, and more
  • Custom inventory system where everything is an item: food, weapons, devices, etc
  • All items can be dropped, given, used, picked up, or stored in certain places (other items, vehicles, etc)
  • Ownable vehicles, houses, businesses, and more
  • No "hard cap" to how many things you can own, but the more you own the more you pay in tax
  • Stock your business with any items you want, and set custom prices
  • Extra storage for businesses (floor items for sale, stockroom in back for hidden stuff)
  • Security features like two-factor login, email alerts for login attempts, and more
  • Animations and ped speech for extra RP goodness
  • Players can make aliases for commands
  • Choosable levels of GUI: Simple (input, list, message like SA-MP), Full (whole app layouts), or None (commands only)
  • Custom keybinds. Server can set defaults, but players can bind/unbind keys for personalization
  • Everything is dynamically changable in the server using commands and/or GUI
  • Community-provided translations for GUI and server messages
  • Automatic translator for chat (players can turn it on/off for themselves)
  • Way too many other things to list here

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.
  • 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.
  • Edit svr_main table, and set the svr_game and svr_port to your server's info. Game ID numbers are here
  • (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 <-> client are handled in each side's netevents.js script files via utils
  • All server and client events are handled in each side's event.js script files, sometimes with utils.

Database Style

  • Always use lowercase names for tables and fields
  • Try to 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 key on their ID column
  • Tables use both secondary keys & cascading foreign key links to any ID that points to another table
  • Prefix table names with func_ if they are a custom function or procedure

Notes

  • The resource is designed to load the script files first, then initialize after that's done.
  • The resource is designed to run on multiple servers. Each server needs a row in svr_main table with matching port and game ID
  • 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, mostly related to permissions.
  • Bitwise value of -1 is always used as "all flags" for that set. For admin permissions, -1 is god-tier admin level
Description
Vortrex's Roleplay Resource for GTA/Mafia MP mods
Readme Apache-2.0 8.4 MiB
Languages
JavaScript 100%