An example implementation of Salty Chat for RedM OneSync and OneSync Infinity.
You can report bugs or make sugguestions via issues, or contribute via pull requests - we appreciate any contribution.
Join our Discord and start with Salty Chat !
Before starting with the setup, make sure you have OneSync enabled and your server artifacts are up to date.
Download the latest release and extract it into your resources
Add start saltychat
into your server.cfg
Open config.json
and adjust the variables
"VoiceEnabled": true,
"ServerUniqueIdentifier": "NMjxHW5psWaLNmFh0+kjnQik7Qc=",
"MinimumPluginVersion": "",
"SoundPack": "default",
"IngameChannelId" : 25,
"IngameChannelPassword": "5V88FWWME615",
"SwissChannelIds": [ 61, 62 ],
Attantion : CFX team implemented a NUI blacklist and blocked local (127.0.0.1
and localhost
) WebSocket connections.
If the clientside can't connect to the WebSocket, make sure that you can resolve lh.v10.network
:
Open Windows Command Prompt
by searching cmd
Execute nslookup lh.v10.network
If it resolved to 127.0.0.1
then your issue is probably somewhere else, if not then you can use e.g. Google DNS servers .
Variable
Type
Description
VoiceRanges
float[]
Array of possible voice ranges
EnableVoiceRangeNotification
bool
Enables/disables a notification when chaning the voice range
VoiceRangeNotification
string
Text of the notification when changing the voice range, {voicerange}
will be replaced by the voice range
RadioType
int
Radio type which will be used for radio communication - see possible values
EnableRadioHardcoreMode
bool
Limits some radio functions like using the radio while swimming/diving and allows only one sender at a time
UltraShortRangeDistance
float
Maximum range of USR radio mode
ShortRangeDistance
float
Maximum range of SR radio mode
LongRangeDistace
float
Maximum range of LR radio mode
MegaphoneRange
float
Range of the megaphone (only available while driving a police car)
NamePattern
string
Naming schema of TeamSpeak clients, {serverid}
will be replaced by the RedM server ID of the client, {playername}
by the name of the client and {guid}
by a generated GUID
RequestTalkStates
bool
Enables/disables TalkState's
RequestRadioTrafficStates
bool
Enables/disables RadioTrafficState's
Description
Control
Default QWERTY
Toggle voice range
OpenJournal
J
Talk on primary radio
PushToTalk
N
Talk on secondary radio
OpenSatchelMenu
B
SaltyChat_PluginStateChanged
Parameter
Type
Description
pluginState
int
Current state of the plugin (e.g. client is in a swiss channel), see GameInstanceState for possible values
SaltyChat_TalkStateChanged
Parameter
Type
Description
isTalking
bool
true
when player starts talking, false
when the player stops talking
SaltyChat_VoiceRangeChanged
Parameter
Type
Description
voiceRange
float
current voice range
index
int
index of the current voice range (starts at 0
)
availableVoiceRanges
int
count of available voice ranges
SaltyChat_MicStateChanged
Parameter
Type
Description
isMicrophoneMuted
bool
true
when player mutes mic, false
when the player unmutes mic
SaltyChat_MicEnabledChanged
Parameter
Type
Description
isMicrophoneEnabled
bool
false
when player disabled mic, true
when the player enabled mic
SaltyChat_SoundStateChanged
Parameter
Type
Description
isSoundMuted
bool
true
when player mutes sound, false
when the player unmutes sound
SaltyChat_SoundEnabledChanged
Parameter
Type
Description
isSoundEnabled
bool
false
when player disabled sound, true
when the player enabled sound
SaltyChat_RadioTrafficStateChanged
Parameter
Type
Description
name
string
TeamSpeak name of the player
isSending
bool
true
when radio traffic is received, false
when radio traffic breaks or ends
isPrimaryChannel
bool
true
radio traffic is received on primary channel, false
when radio traffic is received on secondary channel
activeRelay
string
TeamSpeak name of the active relay (only if someone near you has the speaker enabled)
Returns the current voice range as float.
Get the current radio channel.
Parameter
Type
Description
primary
bool
Whether to get the primary or secondary channel
Returns the current radio volume as float (0.0f - 1.6f).
Returns the current state of the radio speaker as bool (true
speaker on, false
speaker off).
Set the current radio channel.
Parameter
Type
Description
radioChannelName
string
Name of the radio channel
primary
bool
Whether to set the primary or secondary channel
Adjust the radio's volume
Parameter
Type
Description
volumeLevel
float
Overrides the volume in percent (0f - 1.6f / 0 - 160%)
Turn the radio speaker on (true
) or off (false
).
Parameter
Type
Description
isRadioSpeakEnabled
bool
true
to enable speaker, false
to disable speaker
Sets player IsAlive
flag.
Parameter
Type
Description
netId
int
Server ID of the player
isAlive
bool
true
if player is alive, otherwise false
Adds a player to a call, creates call if it doesn't exist.
Parameter
Type
Description
callIdentifier
string
Identifier of the call
playerHandle
int
Server ID of the player
Adds an array of players to a call, creates call if it doesn't exist.
Parameter
Type
Description
callIdentifier
string
Identifier of the call
playerHandles
int[]
Server IDs of the players
Removes a player from a call.
Parameter
Type
Description
callIdentifier
string
Identifier of the call
playerHandle
int
Server ID of the player
Removes an array of players from a call.
Parameter
Type
Description
callIdentifier
string
Identifier of the call
playerHandles
int[]
Server IDs of the players
Turns phone speaker of an player on/off.
Parameter
Type
Description
playerHandle
int
Server ID of the player
toggle
bool
true
to turn on speaker, false
to turn it off
Turns radio speaker of an player on/off.
Parameter
Type
Description
netId
int
Server ID of the player
toggle
bool
true
to turn on speaker, false
to turn it off
Sets a player's radio channel.
Parameter
Type
Description
netId
int
Server ID of the player
radioChannelName
string
Name of the radio channel
isPrimary
bool
true
to set the channel as primary, false
to set it as secondary
Removes a player from the radio channel.
Parameter
Type
Description
netId
int
Server ID of the player
radioChannelName
string
Name of the radio channel
Sets the radio towers.
Parameter
Type
Description
towers
float[][]
Array with radio tower positions and ranges (X, Y, Z, range)