- 2.34 MB
About Social Link
A site that allows the user to link their Discord/Steam account and get perks or rewards.
Table of Contents
- Setup CRON
- Job Scheduling
- Dashboard Configuration
Social Link is a site that allows the user to link their Discord/Steam account and get perks or rewards. It's a simple service that checks whether the user is present in the Steam group or/and in the Discord server (it can also assign a Discord role automatically), then it can send custom commands via RCON (compatible with multiple server). This project was primarily made for Rust servers administrators.
- Steam authentication
- Discord authentication
- Steam group checker
- Discord Guild checker
- Discord role assignment
- Sends custom RCON commands
- Possibility of having multiple Rust servers or RCON commands will be sent
- Option to Enable/Disable Steam Group Check / Discord Auth / Discord role assignment / RCON Commands
- Admin dashboard
- Discord Webhooks logs
- Possibility for the user to de-authenticated
- Possible for the admin to de-authenticated a user
- Custom Discord/Steam oxide group name
- Customization of the site name, logo, design, links (Discord / Steam group / store)
- Checking all users if they are in the Steam group and/or in Discord (Automated and Manual).
- Download the source code.
Go to directory:
Create a database file with:
Rename or copy env.example to .env:
cp .env.example .env
Generate a new application key
php artisan key:generate
You can find your Steam API key here.
Discord Login Setup:
- Create new application here
- Go on OAuth2 and add redirect (use this format: "https://domain.com/discord/callback")
Before continuing, you must modify the ".env" otherwise the rest will not work.
This information is essential to be modified in the .env, other information will have to be modified on the dashboard.
DB_DATABASE= # full path to your db file "/path/to/project/database/social-link.sqlite" ADMIN_STEAM_ID= # The first user who will have the admin role (you will have the option to add another admin later). STEAM_KEY= # The steam API key to authenticate via Steam. STEAM_REDIRECT_URI= # The redirect URL (it must be in this format: https://domain.com/auth/steam/callback) # If you want to use Discord: DISCORD_CLIENT_ID= # CLIENT ID to authenticate via discord DISCORD_CLIENT_SECRET= # CLIENT SECRET to authenticate via discord (NOT THE TOKEN BOT) DISCORD_REDIRECT_URI= # Redirection URL (it must be in this format: https://domain.com/discord/callback)
Once you have completed the .env file:
Setup database tables:
php artisan migrate:fresh --seed
Install Node dependencies:
npm install && npm run prod
Setup CRON (Automatic Check)
sudo crontab -e
* * * * * php /path/to/project/artisan schedule:run >> /dev/null 2>&1
- "/path/to/project/artisan" becomes whatever directory you've set in your nginx config file
Now you have everything configured you must log in. Go to the homepage (your-domain.com) and click on Get Started. Once logged in, go your-domain.com/admin, then go to Settings & Servers and edit the information!
If you need help add me on Discord: Havens#4163.