07.06.2015, 11:06
I figured that some damaging processes should be removed from the client and be put into server's side.
Some of these options have been somehow suggested before, just wanted to gather em all around and add some improvements.
Serverside Damage Verification
By this, I mean that any damage taken or given, must be first agreed by the server.
For example I have fallen from a very high building, but the server doesn't want to have me dead, so OnPlayerTakeDamage: client sends the damage info, but doesn't process it itself, server takes the data and... RETURN 0; so the client will not process the damage.
Damage Amount Controlling
This is a good workaround to prevent some bugs or hacks, or making some abilities, client sends damage data, the server sets the amount to whatever.
For example I want to halve the damage taken by a specific player, OnPlayerTakeDamage: client sends the damage info, but doesn't process it itself, server takes the data and sets the damage amount into a half of original... RETURN 1; ...
Serverside Shooting Verification
It means to allow or deny the bullet to be thrown out of the weapon, like what happens when you're trying to shoot an ally in Call of Duty series.
It's useful to prevent the bullet's side effects when we don't want to. (temporary stun by shotgun, fire and shock by explosives...)
^^ Seems I have a lot of ideas today!
Some of these options have been somehow suggested before, just wanted to gather em all around and add some improvements.
Serverside Damage Verification
By this, I mean that any damage taken or given, must be first agreed by the server.
For example I have fallen from a very high building, but the server doesn't want to have me dead, so OnPlayerTakeDamage: client sends the damage info, but doesn't process it itself, server takes the data and... RETURN 0; so the client will not process the damage.
Damage Amount Controlling
This is a good workaround to prevent some bugs or hacks, or making some abilities, client sends damage data, the server sets the amount to whatever.
For example I want to halve the damage taken by a specific player, OnPlayerTakeDamage: client sends the damage info, but doesn't process it itself, server takes the data and sets the damage amount into a half of original... RETURN 1; ...
Serverside Shooting Verification
It means to allow or deny the bullet to be thrown out of the weapon, like what happens when you're trying to shoot an ally in Call of Duty series.
It's useful to prevent the bullet's side effects when we don't want to. (temporary stun by shotgun, fire and shock by explosives...)
^^ Seems I have a lot of ideas today!