You can try adding print statements. For example, you can add a print statement before and after the event:FireServer() line to make sure that the client is properly firing the event, and you can add a print statement inside the OnServerEvent function to verify that the server is properly receiving the event.
Both of your scripts look correct, all I can think of is that you didn’t properly enable the local script, if it is you can try checking if the ChatSFX sound exists in the Workspace and that it’s properly set up.