Jump to content
RAGE Multiplayer Community

League gamemode [0.5.0-alpha]


Recommended Posts

League [work in progress]

0.5.0-alpha unstable version

The classic tdm gamemode, with opensource code in the github repository. 

Requirements:

  1. MongoDB Community server v4.4.0 or above
  2. Setup the connection config.json (./packages/league/assets/config.json), for example:
{
  "DB": {
    "HOSTNAME": "localhost",
    "PORT": "27017",
    "USERNAME": "root",
    "PASSWORD": "root",
    "DATABASE": "league"
  }
}

Available systems:

1. Configurable (The most settings you are allowed to edit in ./packages/league/assets/config.json)

2. Saving statistics to database

3. Multi-language (You can easily add a new language just by creating a new json file in lang directory)

4. Groups (user, moderator, admin, root)

5. Notify system based on CEF (notifystack)

6. Voting for maps

7. Support json maps (See an example in assets/maps.json)

8. Some information huds (nametags, voting, team selecting, round info)

9. Chat information (kick, mute)

10. Gamemenu (F2)

11. Deathlog (Killlist) when round is running

12. Control huds

13. Configurable damage (You can describe which weapon should deal configurable damage)

14. Effects (Round start, round end, death, damage)

15. Autologin option

16. Spectating mode

17. Map editor

18. Calculating experience, MMR points, leveling calculating

19. Starting scenery camera

 

Available commands:

1. /rs [map_id_or_code]  or /roundstart [map_id_or_code] - Start a new round (In the future will be admin command)

Now has admin/root access

2. /re or /roundend - Ends the round (In the future will be admin command)

Now has admin/root access

3. /votemap [map_id_or_code] - nominate a map to the start 

4. /cl [lang] or /changelang [lang] - change the language

5. group commands:

/g rcon [password] - grant super privileges
/g login [password] - login as admin or moderator
/g addadm [id] [password] - (root only) add a new admin by id
/g addmod [id] [password] - (root and admin) add a new moderator by id
/g pwd [password] - change a password for login
/g user [id] - set a user group for player by id

6. /kick [idOrName] [reason]  - (root and admin and moderator only) Kick player by reason

7. /mute [idOrName] [minutes] [reason] -  (root and admin and moderator only)  Mute player by reason

8. /unmute [idOrName]  - (root and admin and moderator only) Unmute player

9. /ct [id|nickname] [att|def|spec] - Change a team by player id/nickname, alias /changeteam

10.  /add [id|nickname] - Add a player to the round

11.  /remove [id|nickname] - Remove a player from the round

12. /pause - Pause a round when the round is running

13. /unpause - Unpause a round when the round is running

14. /spec (or /spectate) [id|name|off] - toggle spectate

Works: while round is running and local player is not in the round

15. /me (or /mapeditor) [on|off] - toggle map editor

Access: Admin or Root

Works: while round is not running

Some screenshots:

0.5.0 Screenshots:

Скрытый текст

cj0SZJ9.png

TDiyFxp.png

9hnHHLN.png

 

0.5.0 Videos:

Скрытый текст

Spectate camera:

Create a new map by map editor:

 

0.4.0 Screenshots:

Скрытый текст

nZUIKnK.png

JJQNUOp.png

RhmrOLZ.png

ByCkKb1.png

mPYfFYF.png

Previous versions screenshots:

Скрытый текст

KnyZ5Up.png

meqV510.png

BZsBqTC.png

GfHfssL.png

ChtV9cT.png

b7I4w8c.png

oPPe5NY.png

G5lrgDy.png

NWNMDV8.png

b0HQXgB.png

Ver. 0.5.0 download league 0.5.0-alpha from github

Gamemode discord for any questions.

 

Changelog (previous versions):

Скрытый текст

Changelog 0.2.0:
+ Changed language system
+ Moved lang from clientside to serverside
Now available adding new language(s) without build gamemode.
Just create a file in the lang folder calls e.g. "custom.json" and set up config with the new language "custom"
+ HUD for team selecting (params are editable in config)
+ HUD for vote map (params are editable in config)
+ HUD for Nametag with team color (params are editable in config)
+ HUD for round info panel
+ HUD for any notify messages
+ Text chat
+ Added RCON password in config.json
You should change rcon password otherwise you will have an error
+ Add groups system [USER, MODERATORS, ADMIN, ROOT]
Commands:
/g rcon [password] - grant super privileges
/g login [password] - login as admin or moderator
/g addadm [id] [password] - (root only) add a new admin by id
/g addmod [id] [password] - (root and admin) add a new moderator by id
/g pwd [password] - change a password for login
/g user [id] - set a user group for player by id
+ Added admin/root access to commands:
/roundstart
/roundend
+ Fixed cmdlist command
+ Refactoring some parts of code in clientside, serverside
+ Added kick command
/kick [idOrName] [reason] (root and admin and moderator only) - Kick player by reason
+ Added mute command (root and admin and moderator only) - Mute player by reason
/mute [idOrName] [minutes] [reason]
+ Added unmute command (root and admin and moderator only) - Unmute player
/unmute [idOrName]

Changelog 0.3.0:

+ Fixed teamselector bug with double binding keys
+ Fixed bug when round timer was not being synced with client/server
+ Added Controls hud element
+ Added Gamemode hud element
+ Added Deathlog hud element
+ Added round pause and unpause commands:
/pause - Pause a round when the round is running
/unpause - Unpause a round when the round is running
+ Added change team command:
/ct [id|nickname] [att|def|spec] - Change a team by player id/nickname, alias /changeteam
+ Added add/remove in/from a round:
/add [id|nickname] - Add a player to the round
/remove [id|nickname] - Remove a player from the round
+ Added Gamemenu tabs:
1. Profile tab - a tab with profile information of player
2. Players tab - a tab with list of current players (clickable to a player to get a profile)
3. History tab - a tab with history of matches (at this moment not clickable, soon)
4. Vote tab - a tab with voting for the map
5. Top tab - a tab with top of players, sorted by mmr (at this moment no finished, soon)
6. Credits tab - a tab with information about gamemode author, changelog
Gamemenu available by F2 button
+ Rework round players' statistic, moved from round players teamId to sharedData
Breaking changes: round stats now saved with another json object which looks like:
{ winner, created_at, ATTACKERS: [], DEFENDERS: [] }
+ Fixed teamId state in Scoreboard tab
+ Fixed changelang description
+ Fixed error on client when round is running stats has been saving
+ Fixed assist calculation on clientside
+ Fixed bug with checking state of a player (typeof undefined)
+ Added player join/quit notifications in chat
+ Fixed vote bug, when player has voted but at finished time round has not started

Changelog 0.4.0:

+ Removed pouchdb from the gamemode because it is not compatitable with linux server
+ Added mongodb database
+ Rewriting repositories and models for new database
+ Added installing instruction to README.md in the github repository
+ Added in-game effects
Round start notify
Winning round notify
Death notify
Damage notify
+ Added refresh button to history, to player's top
+ Added player's top page in the gamemenu
+ Added detail history page
+ Added pagination to players, history, top players pages in the gamemenu
+ Updated info panel, from this moment shows current score of teams when round is not running
+ Updated weapon dialog design
+ Fix deathlog bug, when a new message erase others messages
+ Refactoring hud manager
+ Refactoring abstract class hud
+ Optimize setInterval calls (reduce huds' count)
+ Fixed isVisible method in nametag hud element (thanks to hromik)
+ Fixed freeze player method
+ Fixed round states (Added prepare state)
+ Fixed saving stats when a player has changed a team
+ Added configurable damage from config
+ Added autologin option

Current changelog:

Скрытый текст

+ Added map editor
Thanks to hromik for supporting with gameplay camera change player's handle

/me (or /mapeditor) [on|off] - enable/disable map editor
You should be an administrator or have root access
Also round should be is not running

Map editor gives opportunity to create maps on the server
After saving a new map you can easily start it immediately without restarting server.
Editor controls inforomation:
2 - Start draw a new map
3 - Reset all progress of draw
4 - Save a new map
5 - Show/hide a map editor

E - Add a map point (To make a polygon of map zone)
R - Add a spawn point (To make spawn points for teams: attackers, defenders)

X - Remove a map point
C - Remove a spawn point

F - Toggle current value of team (To attach a spawn point to the concrete team)

F5 - Toggle fly mode
F7 - Toggle a cursor

Also all functions can easily be done with form
After saving a new map - file maps.json will has been edited, also you can edit it by hands (Refresh after editing by hands is not ready yet)
+ Added spectating mode
Still in develpoment mode because of unknown issues that I will try to find
/spec (or /spectate) [id|player name|off] - toggling spectate, off means to disable spectating mode
Known issues: After toggling off spectate mode, player's dimension isn't updating with lobby dimension (will be fixed in the next release)
In the spectate mode added current spectating player's information
Added current players spectating list
+ Added map refreshing function (To avoid restarting server for updating maps, in the future will be access to call it directly by command or admin form)
+ Updated round panel information (At this moment during the whole round time all players see round timers even if players connected after the server had started)
+ Added a new game player status: SPECTATE
+ Rewrited MMR/EXP system after the round ends (At this moment it calculates new values depends on players count in the their teams)
+ Updated control HUDs - changed from mp.game.graphics.drawText to CEF
+ Updated Nametag HUD - added ID above the nickname
+ Added circle camera when round is starting
+ Fixed Fly mechanics, there was a bug when fly camera was attached to the wrong camera
+ Added new control: F7 - toggling cursor
+ Refactoring Round lifecycle events on clientside
+ Refactoring Round lifecycle evnets on serverside
Still testing, might has issues
+ Fixed round statistic update (Added throttled functions to avoid spam events to serverside)
+ Fixed shotgun pellets damage (There was invoked too many times which made a bug with kill)
+ Fixed duplicate damage notify
+ Fixed keyBind/keyUnbind methods (There was a bug which crashed client)
+ Fixed debug error messages to players (Now it's hidden)
 

 

Edited by cacao
release 0.5.0
  • Like 5
  • Sad 1
Link to post
Share on other sites

Released 0.4.0-alpha version. (more information in the first post)

Changelog 0.4.0:

+ Removed pouchdb from the gamemode because it is not compatitable with linux server
+ Added mongodb database
+ Rewriting repositories and models for new database
+ Added installing instruction to README.md in the github repository
+ Added in-game effects
Round start notify
Winning round notify
Death notify
Damage notify
+ Added refresh button to history, to player's top
+ Added player's top page in the gamemenu
+ Added detail history page
+ Added pagination to players, history, top players pages in the gamemenu
+ Updated info panel, from this moment shows current score of teams when round is not running
+ Updated weapon dialog design
+ Fix deathlog bug, when a new message erase others messages
+ Refactoring hud manager
+ Refactoring abstract class hud
+ Optimize setInterval calls (reduce huds' count)
+ Fixed isVisible method in nametag hud element (thanks to hromik)
+ Fixed freeze player method
+ Fixed round states (Added prepare state)
+ Fixed saving stats when a player has changed a team
+ Added configurable damage from config
+ Added autologin option

  • Like 2
Link to post
Share on other sites
  • 3 weeks later...

Release 0.5.0-alpha version (More information in the first post)

Some screenshots:

Скрытый текст

cj0SZJ9.png

TDiyFxp.png

mtn9ZXL.png

Some videos:

Скрытый текст

Spectate camera:

 

Create a new map by map editor:

 

Changelog 0.5.0:

+ Added map editor
Thanks to hromik for supporting with gameplay camera change player's handle

/me (or /mapeditor) [on|off] - enable/disable map editor
You should be an administrator or have root access
Also round should be is not running

Map editor gives opportunity to create maps on the server
After saving a new map you can easily start it immediately without restarting server.
Editor controls inforomation:
2 - Start draw a new map
3 - Reset all progress of draw
4 - Save a new map
5 - Show/hide a map editor

E - Add a map point (To make a polygon of map zone)
R - Add a spawn point (To make spawn points for teams: attackers, defenders)

X - Remove a map point
C - Remove a spawn point

F - Toggle current value of team (To attach a spawn point to the concrete team)

F5 - Toggle fly mode
F7 - Toggle a cursor

Also all functions can easily be done with form
After saving a new map - file maps.json will has been edited, also you can edit it by hands (Refresh after editing by hands is not ready yet)
+ Added spectating mode
Still in develpoment mode because of unknown issues that I will try to find
/spec (or /spectate) [id|player name|off] - toggling spectate, off means to disable spectating mode
Known issues: After toggling off spectate mode, player's dimension isn't updating with lobby dimension (will be fixed in the next release)
In the spectate mode added current spectating player's information
Added current players spectating list
+ Added map refreshing function (To avoid restarting server for updating maps, in the future will be access to call it directly by command or admin form)
+ Updated round panel information (At this moment during the whole round time all players see round timers even if players connected after the server had started)
+ Added a new game player status: SPECTATE
+ Rewrited MMR/EXP system after the round ends (At this moment it calculates new values depends on players count in the their teams)
+ Updated control HUDs - changed from mp.game.graphics.drawText to CEF
+ Updated Nametag HUD - added ID above the nickname
+ Added circle camera when round is starting
+ Fixed Fly mechanics, there was a bug when fly camera was attached to the wrong camera
+ Added new control: F7 - toggling cursor
+ Refactoring Round lifecycle events on clientside
+ Refactoring Round lifecycle evnets on serverside
Still testing, might has issues
+ Fixed round statistic update (Added throttled functions to avoid spam events to serverside)
+ Fixed shotgun pellets damage (There was invoked too many times which made a bug with kill)
+ Fixed duplicate damage notify
+ Fixed keyBind/keyUnbind methods (There was a bug which crashed client)
+ Fixed debug error messages to players (Now it's hidden)
 

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...