
The League Sandbox project’s game server
Project website along with more specifications can be fround from: https://leaguesandbox.github.io/
Project chat on Discord: https://discord.gg/G6mcg5u
Project board on Waffle: https://waffle.io/LeagueSandbox/leaguesandbox.github.io
Contributing
We’re looking for people interested in contributing to the project.
Currently the technologies we use include:
For more detailed project specifications head over to https://leaguesandbox.github.io/
If you’re interested in contributing, come find us from Discord and let us know
Setup guide
Running the client
Currently there are two options for launching the client.
Launching from command line
start "" "Path/To/Your/League420/RADS/solutions/lol_game_client_sln/releases/0.0.1.68/deploy/League of Legends.exe" "8394" "LoLLauncher.exe" "" "127.0.0.1 5119 17BLOhi6KZsTtldTsizvHg== 1"
Using a launcher created by TheWebs
- Clone the launcher’s repository from https://github.com/TheWebs/IWLauncher
- Build it
- Copy the built launcher and it’s dependencies to the game server’s build folder
GameServer/bin/Debug/
- Run it
Project policies
- Line length should be 120 characters maximum whenever possible (use Editor Guidelines plugin for a ruler)
- Pull requests must be approved before they can be merged
- Pull requests should not be merged before the build has passed
- If the build fails, ping the pull request creator and tell him to fix it
- Files and folders in
PascalCase
- JSON dictionary keys in
PascalCase
- Keep the code as simple and clear to read as possible
- Each separate feature should be developed in their own branch
- Commits should be in logical small pieces
- Pull requests should be kept as small as possible, generally one feature per pull requests
- Instead of submitting one huge pull request with 3 features, submit each feature individually
C# guidelines
- Function names in
PascalCase
- Constants in
ALL_CAPS
- Private variables in
_camelCaseWithUnderscore
- Public properties as getters / setters in
PascalCase
- All public variable access should happen through getters / setters
- Regions shouldn’t be used, instead split code into classes/files when needed
- Dictionaries preferred over switches and long if/else statements
- Boolean variable names should be prefixed with a question (is/can/should)
- Conditional operator should be avoided.
condition ? option1 : option2
- This is fine to use in some niche cases where you can’t avoid using it
- Interpolated strings with embedded logic should not be used
Development flow and how to use git shell
- Pull latest version of master
git fetch -p
git pull origin master
- Checkout to a new branch
git checkout -b <branch_name>
- Make changes, do commits
git status - List of changed files
git add <filename> - Stage file for commit
git add -u - Stage all updated files for commit
git add -A - Stage all unstaged files for commit
git commit -m "<commit message>" - Create commit
- Push to github
git push origin <branch_name>
- Create pull request
- Checkout back to master
- Repeat
评论