• Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by Crystalline · Mar 25, 2014 at 07:37 PM · networkingphotonrpc

Cheating possible in this code?

Hello there! I just started with Networking , and I am using RPC calls at the moment (I use Photon ). Here is a little code, that , makes me curious if it can be cheated by players.

What it does, is ,the player sends an rpc to the server, then the server responds to the players for a limited time ( the rpc can be called only 4 times ). Can this be cheated?

 using UnityEngine;
 using System.Collections;
 
 public class TestThing : Photon.MonoBehaviour {
 
     //by player
     float localvar = 12;
     //by server
     int server_times = 4;
     float server_var;
 
     // Update is called once per frame
     void Update () 
     {
         //we call the server only!
         if( Input.GetKeyDown(KeyCode.L) )
         {
             //request from server
             photonView.RPC( "ToServer",PhotonTargets.MasterClient );
         }
     
     }
 
     //this is what player requested
     //called on server only
     [RPC]
     void ToServer()
     {
         if( server_times >0 )
         {
             photonView.RPC( "ToPlayer" , PhotonTargets.Others , (object)20f );
             server_times -= 1;
         }
     }
     
     //called back on player ,after the player has requested it
     [RPC]
     void ToPlayer( float thevar )
     {
         localvar += thevar;
         print(server_times);
     }
 
 }
 
Comment
Add comment · Show 3
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Crystalline · Mar 25, 2014 at 08:11 PM 0
Share

Any ideas?

avatar image nsxdavid · Mar 26, 2014 at 06:22 AM 1
Share

What sort of cheating are you asking about?

avatar image TheZoc · Mar 26, 2014 at 06:32 AM 0
Share

I think you can overflow the requests to the server - There are no protections to prevent multiple calls.

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by fholm · Mar 27, 2014 at 05:05 AM

It depends on what you mean with "can this be cheated?". A client can send 10000 requests for this to the server if he wants, even if he only pressed the button once (or not times).

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Welcome to Unity Answers

The best place to ask and answer questions about development with Unity.

To help users navigate the site we have posted a site navigation guide.

If you are a new user to Unity Answers, check out our FAQ for more information.

Make sure to check out our Knowledge Base for commonly asked Unity questions.

If you are a moderator, see our Moderator Guidelines page.

We are making improvements to UA, see the list of changes.



Follow this Question

Answers Answers and Comments

23 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Photon Network Instantiate Objects over Network 1 Answer

[Photon] Restart scene rpc doesn't work 1 Answer

The other client does not receive chat messages.(Photon Networking) 1 Answer

Destroying the bullet over a photon network 4 Answers

Proper way to instantiate projectile in PUN 1 Answer

  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges