Skip to content

Aspecky/ProfileService

 
 

Repository files navigation

Installation

To install using wally:

[server-dependencies]
ProfileService = "aspecky/profileservice@^1.0.0"

If you dont use rojo but would still like to use wally packages you can use studio-wally

Or just copy paste the contents of ProfileService into a ModuleScript

Madwork - ProfileService

ProfileService is a stand-alone ModuleScript that specialises in loading and auto-saving DataStore profiles.

A DataStore Profile (Later referred to as just Profile) is a set of data which is meant to be loaded up only once inside a Roblox server and then written to and read from locally on that server (With no delays associated with talking with the DataStore every time data changes) whilst being periodically auto-saved and saved immediately once after the server finishes working with the Profile.

The benefits of using ProfileService for your game's profiles are:

  • Easy to learn, and eventually forget - ProfileService does not give you any data getter or setter functions. It gives you the freedom to write your own data interface.

  • Built for massive scalability - low resource footprint, no excessive type checking. Great for 100+ player servers. ProfileService automatically spreads the DataStore API calls evenly within the auto-save loop timeframe.

  • Already does the things you wouldn't dare script yourself (but should) - session-locking is essential to keeping your data protected from multiple server editing - this is a potential cause of item loss or item duplication loopholes. ProfileService offers a very comprehensive and short API for handling session-locking yourself or just letting ProfileService do it automatically for you.

  • Future-proof - with features like MetaTags and GlobalUpdates, you will always be able to add new functionality to your profiles without headaches.

  • Made for ambitious projects - ProfileService is a profile object abstraction detached from the Player instance - this allows the developer to create profiles for entities other than players, such as: group-owned houses, savable multiplayer game instances, etc.


ProfileService is part of the Madwork framework Developed by loleris

It's documented: ProfileService wiki

It's open source: Roblox library

Watch while you eat pizza on the couch - YouTube tutorials:
ProfileService tutorial playlist by @okeanskiy
Session-locking explained and savable leaderstats by @EncodedLua
(Will add new tutorials as they come)

About

ProfileService but fully typed for the modern Luau age

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Lua 100.0%