My modulescript is client-sided?

This used to work perfectly before, but now it’s not working anymore.

I use a modulescript to keep track of a set of perks for a game of mine. To update the table for other scripts to read, I have a BindableEvent that is used to tell the Modulescript to change the table so it can have updated values. But the server no longer can send the BindableEvent to the module. I checked with a command bar as well and it registered that it can use the BindableEvent only on the client. Server-sided communication isn’t possible…?

Players.PlayerAdded:Connect(function(Player)
	local PlyrItems = Player:WaitForChild("PlyrItems")
	local PlyrList
	local CharPerkLists
	local PPL = PlyrItems.PerkPlayerList
	
	local gotPerkList, Failure = pcall(function()
		PlyrList = DSPerks:GetAsync(Player.UserId)
		return PlyrList
	end)
	
	if gotPerkList then
		print("Got Perk List", PlyrList)	
		PPL.SetTable:Fire(PlyrList) --the server says it did this, but the module never picks up on it
		print("Fired PlyrList") --this fires properly
	else
		print(Failure)
	end

I know that modulescripts are kind of meant to be imported code for other scripts, but this method used to work for me really well up until tonight, where it stopped working entirely.

Did the server call require() on the module? Modulescripts don’t run on themselves AND they respect the client - server boundary

In order for it to respect my server communication, should I require it in the first place?

My impression was that require just imports the table but if that is the solution then I feel more than relieved!!