Repository navigation
4/10/2024 (2)
- Reworked signals for abilities cleanup
- Added select Ultimates/Passives to challenge
- Fixed potential issues in challenge logic
- Added /outlist command (needed for ui menu outgoing challenges)
- Rebuilt SDK with CERT flags
4/10/2024
-
Refactored challenge system data structures to use integer ehandle keys
-
Fixed potential crashes
-
Added reload check callback
-
IMPORTANT NEW PLAYLIST SETTING, this checks up time and performs reload. This retains players, and is executed only at end of a round when uptime exceeds this number:
-
sv_autoReloadRate 9000 //time in seconds to auto refresh (reload) server (9000 is 2.5 hours) RECCOMENDED
4/6/2024
- Added checks to prevent potentially manipulating/accessing null data
- Added new cc command: nextmap
- Added playlist setting: enable_challenge 1 // players can use challenge system , 0 for disabled
- From a previous comitt: chat effects ( just a map of type to special char )
4/5/2024
- Fixed a rare timing crash where player in waiting struct queue time is not initialized
- Implemented new utility functions for parsing weapon configurations
- Reconstructed initialization logic for all settings vars and replaced these calls in scripts.
4/2/2024
Instead of using interval / event messages, you can train messages with:
-
"LOOP_MESSAGES_INTERVAL": "10",
-
"LOOP_MESSAGES": "Loopity loop loop at 10 and 50|another loop| yet another at 30 seconds| this one is 40"
-
Once the array of messages has been sent, it will repeat from the first. Pipe separated list |
4/2/2024
Moved updates to changelog.
-
fixed bugs, refactor.
-
version ready for a battle test
-
new playlist settings:
-
challenge_recap_server_message 1 //enables quick kill/death recap msg in chat (requires chat bot enabled in r5rdev_config.json)
3/31/2024
This update extends the challenge system with new commands, new features, new settings in playlist patch, and new settings in r5rdev_config.json
-
Updated challenge system to include stat recap after doing /end in a challenge.
-
Added the ability to choose legends, and use tactical abilities in challenge fights only. Cleanup of left over abilities happens on either player death.
-
Configurable playlist options:
-
give_legend_tactical 1 //gives player tactical ability for legend on spawn
-
give_legend 1 // allows giving legend ( during challenge only )
-
Extended /chat commands with:
-
/cycle
-
/swap
-
Cycle will cycle map spawns every death during challenge. Swap randomly swaps the sides each player spawns on. Can enable either/or both at same time.
-
!!NEW!! Feature: ChatBot
-
Define custom messages to display as [SERVER] or [YOURCHOICE] (really your choice) in the chat. Messages can be defined by intervals of seconds in multiples of 10, or on events, such as start= end=. Multiple messages can be defined for the same interval or event.
-
New settings for the r5rdev_config control this feature, and can be configured here: https://r5r.dev/cp/?tab=config
-
For manual configuraiton see settings section in template in this repo EXAMPLES folder
"ENABLE_CHATBOT": "true", "CHATBOT_PREFIX": "SERVER", "INTERVAL_MESSAGES": "start=Welcome to an official R5R.DEV server. |start= Have suggestions? Open a ticket on www.r5r.dev |60=Stats tracking by www.R5R.DEV" -
General code reformation, refactor
-
Changed input thread to use signal method registered in CPlayer class
-
Fixed a possible crash where wattson fences have possibility of having invalid ignoreents
-
Fixed wrong vars used in acccuracy stats on lg duel recap ( client side only feature - doesn't effect global stats )
-
Added extra cc commands for debugability
-
Implemented and registered a few new (temporary) sdk functions to achieve chatbot functionality until a full fledged package solution can be implemented.
-
Added notifications for challenge status
3/27/2024
Added a challenge system for locking 1v1s.
- /chal [playername/id] - challenges a player to 1v1
- /accept [playername/id] - accepts a specific challenge or the most recent if none specified
- /list - lists all challenges and time of challenge \n /end - ends and removes current challenge
- /remove [playername/id] - removes challenge from list by player name.
- /clear - clears all incoming challenges
- /revoke [playername/id] - Revokes a challenge sent to a player
- To disable, toggle lock1v1 button in rest area
3/23/2024
-
Patched return to spawn with weapons
-
Patched worldspawn info
-
New feature, playlist setting: rest_grace
-
time required from start of fight or since last damage to rest during a fight if player tries to rest, it will send them to rest after fight and tell them they can try again in (n) seconds. Default if not specified in playlist is 0.0 (disabled)
-
Decluttered global name space
-
Fixed discord hooks
3/19/2024
-
Fixed a client side crash bug server sided:
-
Removed the ability to spectate after eTDMstate is not game playing.
-
Forced all spectators to stop spectating after playing state finishes.
-
Fixed a realms exploit that could crash the server
!! NEW 3/14/2024 [PERFORMANCE inspired rewrite]
-
Redesigned tracker engine code
-
With it: New setting for r5rdev.config (see examples folder for template):
-
"DELETE_ALL_LOGS": true, -
"CVAR_MAX_BUFFER": 100 -
DELETE_ALL_LOGS, with auto delete on, will delete the game data logs after sending.
-
CVAR_MAX_BUFFER allows you to experiment with different buffer sizes, that which controls the active writer.
-
new play list options ##:
-
default_enable_input_banner_setting 0 ///disables spammy player input banner on spawn
-
COMMAND_RATE_LIMIT 0.200 //Rate limiting for all commands
-
enable_chat_commands 1 // allows typing /rest /info /id /aa into chat.
-
dev notes ##:
-
fixed movement input callbacks
-
reworked tracker engine/ tracker scripts / 1v1 game mode
-
redesigned struct methods to use constant time operations
-
replaced loops with constant time operatons
-
converted string comparisons to int ref
-
created several new utility functions and "systems"
-
focused primarily on performance
-
fixed numerous bugs and issues
-
still much more to do..
NEW 3/13/2024 [NIGHT update]
-
Added rotate feature. To configure, add a list of comma separated maps for:
-
maplist "mp_rr_arena_composite,mp_rr_aqueduct,mp_rr_party_crasher"
-
rotate_map 1 // rotatesmaps in maplist
-
Added new 1v1 map with spawns: mp_rr_party_crasher - to enable add mp_rr_party_crasher to fs_1v1 maps in playlist
NEW 3/13/2024
- General code improvements.
- Complete synced settings query system
Added persistence setting:
- start_in_rest (players start match in rest)
Added synced stat:
- score (from global tracker)
Added playlist vars:
- restricted_rank 200 // int for minimum rank allowed to join restricted_server 1
- give_random_legend_on_spawn 0 // 0/1
- default_lock1v1_setting 1 //default setting for users without preference
- enable_voice 1 //enables all_chat and enables voice convars on start (if not already enabled)
Added new cc commands:
- cc sayto [player] [title] [msg] [duration] //only needs player and title - sends message only to specified player
- cc vc [0/1] //enables or disables voice chat
- cc startbr //starts br without minimum players reached
Added to r5rdev_config.json: (playername-oid comma separated list)
- "ADMINS": ""
indev:
- custom chat messages sent at configured intervals
- voice / chat muting. voice overlay
- challenge system
NEW 3/8/2024
Refactored/Reworked various code
Added persistence system for various settings (with stats)
- saved weapons
- lock1v1 setting
- wait time
I reccomend using a unique identifier of your choosing. Servers are identified by ip:identifier
The identifier must be alphanumeric, underscore hypen only, less than 30 characters. identifiers that fail the check are set as 'none'
Added playlist settings:
end_match_message // 0/1 disable or enable eng game messages
endgame_delay // time in seconds
NEW 3/7/2024
added playlist setting: enable_lock1v1 0/1 //0 = removes panels for locking 1v1s
added panels for player wait time / lock1v1 settings
New client command: lock1v1 1/0 or on/off or true/false --
NEW 3/6/2024
THE CONFIG FILE TEMPLATE WAS MOVED TO THE EXAMPLE FOLDER. In order for the config file to be used it must be within your platform folder. This move makes sure future udpates don't overwrite your saved configs.
To configure restricted servers, the following lines can be added to your playlist patch file:
// restricted servers
restricted_server 1 // 1 = restrictions enabled
restricted_join_message "Welcome to the R5R.DEV elite server. \n\n You meet the minimum requirements to play on this server."
restricted_whitelist_message "You're whitelisted for the R5R.DEV elite server"
restricted_kills 500 // minimum kills required to play
restricted_kd 0.7 // minimum kd ratio
restricted_playtime 10000 // minimum play time in seconds
restricted_gamesplayed 10 // minimum games played
// END ########
Additionally, to include a whitelist of players that will always bypass any requirements, a new setting has been added to the r5rdev_config.json file:
"settings": {
"PLAYER_WHITELIST": "1007946891142"
}
Add a list of comma-seperated OID (uid) here. For example
"PLAYER_WHITELIST": "1007946891142,12312123,5555555555"
See the config file located in example folder
I highly reccomend adding your admins to the whitelist.
To get a good idea of default settings for your restricted server you can always browse https://r5r.dev/hs
Commands added:
aa - players can type aa in console to see current aim assist values on server.
cc restricted 0/1 - temporarily disabled/enables restricted mode on server mid-round (wont save on reload)
cc reload_config - reloads the r5rdev_config.json file (similar to reload_playlists)
2/1/2024:
Webhook urls can still be placed in the playlists file,
but due to security concerns, it is highly reccomended
to use the config file in platform/r5rdev_config.JSON