Creating a voice chat only server

Hello,

I dislike being spoonfed and this post is solely to seek advice on where to start.

I’m looking to create a voice chat only server system for my game, similar to ERLC.

ERLC (by @mrfergie and @Shawnyg) is a free to play game with VC enabled, on their settings UI players have an option to join a game with only other VC enabled players.

I have no idea where to start on creating this and would like to hear from someone to has done this or has a clue.

Thank you.

Youd be required to create the experience with voice enabled, and an extra experience… Reason being that voice-enabled players would have to have the feature enabled first, then you check their properties… Voice enabled players can then be auto-teleported to the extra experience, after the server says they’ve got voice. The extra experience has to be locked so only teleported players can arrive there

The thing is I dont want users with VC enabled to be randomly teleported here on join, only if they want to (clicking the button to join)

You can only check if a player has VC through the client, so you can try using Remote events to fire a player’s client and teleport them to a VC server.

you can use
:IsVoiceEnabledForUserIdAsync()
to check if the player has voice chat enabled, obviously you’d need to define the player you’re trying to teleport to use this function, for example:

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local teleportEvent = ReplicatedStorage:FindFirstChild("Teleport")

local TeleportService = game:GetService("TeleportService")
local VCService = game:GetService("VoiceChatService")

teleportEvent.OnClientEvent:Connect(function()
 
 local voiceChatEnabled = VCService:IsVoiceEnabledForUserIdAsync(player.UserId)
 
 if voiceChatEnabled then
  
  TeleportService:Teleport(placeId, player)
  
 else
  
  game.StarterGui:SetCore("SendNotification", {
   
   Title = "Join Error";
   Text = "You do not have voice chat enabled!";
   Icon = "http://www.roblox.com/asset/?id=...";
   Duration = 5;
   
  })
  
 end
 
end)

just an idea

2 Likes