generic image
Processing...
  • Games
  • Catalog
  • Develop
  • Robux
  • Search in Players
  • Search in Games
  • Search in Catalog
  • Search in Groups
  • Search in Library
  • Log In
  • Sign Up
  • Games
  • Catalog
  • Develop
  • Robux
   
ROBLOX Forum » Game Creation and Development » Scripters
Home Search
 

Re: Rejecting all user input--is there a way?

Previous Thread :: Next Thread 
Sirolu is not online. Sirolu
Joined: 31 Oct 2008
Total Posts: 152
01 Nov 2015 01:50 PM
Recently, I have been working on a ROBLOX game which has a turn-based system, allowing for player movement only when it is the player's turn. It is absolutely crucial to the game balance that it is physically impossible to move said character (this includes "hacking"; hacking is bad for any game, but it would be catastrophical in this).

There is a catch, however: I still need for the physics engine to be ran. Therefore, I cannot do something as simple as anchoring the player's character. Instead, I would prefer for the server to "filter" (similar to how FilteringEnabled usually works) all player input whenever it is not the player's turn.

So that brings me to my question: is there a way to filter out all input from a player within a particular amount of time?

(If this is not currently possible, I have another, less important, question: is there a way to create "local parts" whose physics actually run in the modern day and age? There is a solution I have employed for my problem, but it results in massive latency in player movement.)
Report Abuse
Xsitsu is not online. Xsitsu
Joined: 28 Jul 2009
Total Posts: 2921
01 Nov 2015 01:52 PM
Just go into the player's default ControlScript and change things around to block input, or write your own custom control script.
Report Abuse
Dogejia is not online. Dogejia
Joined: 08 Feb 2012
Total Posts: 1873
01 Nov 2015 01:52 PM
I would have an StringValue and change it when its a player(s) turn (Value would be name), and when Input happens, check if that value is true or not.

There's always better versions tho


Online Dogeing since 1337
Report Abuse
Sirolu is not online. Sirolu
Joined: 31 Oct 2008
Total Posts: 152
01 Nov 2015 01:59 PM
@Dogejia:

Indeed, that could allow for filtering out input on the client. However, there is no strict requirement that a client has to follow that. A malicious client can still bypass it and send input. That is, assuming my logic is correct.

@XSitsu (for some reason, ROBLOX does not allow me to reply to you directly):

I have thought of changing the ControlScript, and I believe, if my reasoning is correct, that that would not fit what I desire. A ControlScript allows you to filter out input on the client, but there is nothing preventing a person from bypassing it and forcibly sending input signals to the server.

I realize that my requirements are strict, but I would prefer to solve this problem on the server, not the client.
Report Abuse
Dogejia is not online. Dogejia
Joined: 08 Feb 2012
Total Posts: 1873
01 Nov 2015 02:03 PM
I don't know how it'll bypass, unless if you mean like rarely it'll get the wrong player,


Online Dogeing since 1337
Report Abuse
Xsitsu is not online. Xsitsu
Joined: 28 Jul 2009
Total Posts: 2921
01 Nov 2015 02:04 PM
Input and movement is usually handled entirely on the client. If you want to make sure the player isn't moving on the server, you could try setting their walkspeed to 0, setting jump power to 0, and repositioning them if they somehow manage to move. Also, there may be the one auto camera rotate follow property or whatever of Humanoid that you may want to turn off in case they zoom all the way in and try to rotate themselves.
Report Abuse
Dogejia is not online. Dogejia
Joined: 08 Feb 2012
Total Posts: 1873
01 Nov 2015 02:04 PM
Unless you're using FE, (if you are), use the ReplicatedStorage, its the client version of serverstorage. Other wise add a "double-checker" script.


Online Dogeing since 1337
Report Abuse
Dogejia is not online. Dogejia
Joined: 08 Feb 2012
Total Posts: 1873
01 Nov 2015 02:05 PM
I don't know what I just said, I just saw 2 horror movies so its jacking my mind


Online Dogeing since 1337
Report Abuse
Sirolu is not online. Sirolu
Joined: 31 Oct 2008
Total Posts: 152
01 Nov 2015 02:12 PM
@Xsitsu:
So, in other words, there is no way to outright filter all input? Well, if that is the case, it cannot be helped. I will just have to do something similar to what you asked. Truly, thank you for your time.

@Dogeija:
That is fine. I do not believe any harm has been done. Nevertheless, thank you for your time.



In other words, if there really is no way to outright filter input, then this may as well be considered solved.
Report Abuse
foreverpower is not online. foreverpower
Joined: 05 Feb 2011
Total Posts: 5578
01 Nov 2015 02:12 PM
You could use this method to set the physics owner of the character to the server so that the client no longer has control over their character:
http://wiki.roblox.com/index.php?title=SetNetworkOwner

This wouldn't disable their control over the animations of their character, however, and you will have to use some other means to disable animations.

Example:

character.PrimaryPart:SetNetworkOwner(nil)

then to set it back:

character.PrimaryPart:SetNetworkOwner(game.Players:GetPlayerFromCharacter(character))
Report Abuse
chimmihc is not online. chimmihc
Joined: 01 Sep 2014
Total Posts: 17143
01 Nov 2015 02:22 PM
You just make a custom character system. Or edit the core control script to work with this. Both would work 100% fine. There is no way to prevent someone from editing things handled client side, there is no point in trying, just kick them if they are exploiting.
Report Abuse
Sirolu is not online. Sirolu
Joined: 31 Oct 2008
Total Posts: 152
01 Nov 2015 02:28 PM
I see.

Before I read this, I was under the impression that, at the very least, the character was simulated somewhat by both the client and server, ensuring that there is no way to "hack the character", while also minimizing latency. I assume this is incorrect.

What I have gathered from your information is that the client actually controls the physics of the character. This means that even if input could be filtered, they could still technically move the character as long as they own the physics. Would this be correct?

This brings forth another problem: latency. If so, I cannot think of a way to "eliminate it" without emulating the physics on the client as well (i.e. local parts with physics). If the latter is impossible, then there is clearly no solution to my second question, and the topic may as well end.
Report Abuse
Previous Thread :: Next Thread 
Page 1 of 1
 
 
ROBLOX Forum » Game Creation and Development » Scripters
   
 
   
  • About Us
  • Jobs
  • Blog
  • Parents
  • Help
  • Terms
  • Privacy

©2017 Roblox Corporation. Roblox, the Roblox logo, Robux, Bloxy, and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.



Progress
Starting Roblox...
Connecting to Players...
R R

Roblox is now loading. Get ready to play!

R R

You're moments away from getting into the game!

Click here for help

Check Remember my choice and click Launch Application in the dialog box above to join games faster in the future!

Gameplay sponsored by:
Loading 0% - Starting game...
Get more with Builders Club! Join Builders Club
Choose Your Avatar
I have an account
generic image