- Home /
Unity networking,Cant see each other move
I did a networking script....same as him
https://www.youtube.com/watch?v=Kk9JcxQi05s
but for reason i dont know my characters cant see each other move...and its the same with any thing else...like animations...everything on the update of every script!! i did desactive the characters script on the (net work is mine)...but in the tutorial above the guys does the same thing but mine is not working. I did same as him....
thats the script
#pragma strict
var playerPrefab : Transform;
var spawnObject : Transform;
var gameName : String = "level1";
var refreshing : boolean = false;
var hostData : HostData[];
function OnGUI ()
{
if(!Network.isClient && !Network.isServer)
{
if(GUI.Button(Rect(Screen.width/2,Screen.height/2,100,20),"Start Server")){startServer();}
if(GUI.Button(Rect(Screen.width/2,Screen.height/2 + 30,100,20),"Refresh Hosts")){Debug.Log("Refresh");refreshHostList();}
if(hostData)
{
for(var i:int = 0; i<hostData.length; i++)
{if(GUI.Button(Rect(Screen.width/2+100,Screen.height/2 - 30,100,20),hostData[i].gameName)) {Network.Connect(hostData[i]);}}
}
}
}
function Update ()
{
if(refreshing)
{
if(MasterServer.PollHostList().Length > 0)
{
refreshing = false;
Debug.Log(MasterServer.PollHostList().Length);
hostData = MasterServer.PollHostList();
}
}
}
function startServer ()
{
Network.InitializeServer(32,25001, !Network.HavePublicAddress);
MasterServer.RegisterHost(gameName, "Tutorial Game", " this is a tutorial");
}
function OnServerInitialized ()
{
Debug.Log("server initialized");
spawnPlayer();
}
function OnConnectedToServer ()
{
spawnPlayer();
}
function spawnPlayer ()
{
Network.Instantiate(playerPrefab, spawnObject.position, transform.rotation, 0);
transform.gameObject.SetActive(false);
}
function OnMasterServerEvent(mse:MasterServerEvent)
{
if(mse == MasterServerEvent.RegistrationSucceeded)
{
Debug.Log("Registered Server");
}
}
function refreshHostList ()
{
MasterServer.RequestHostList(gameName);
refreshing = true;
}
Answer by IEMatrixGuy · Nov 13, 2014 at 05:47 AM
Hi,
I may be missing something here, as I havent done too much with networking, but there would be a couple of things that I would suggest.
Firstly, I can't see any code that tells the player when the position of a character is updated (that doesn't happen automatically). So that would need to be implemented, and is probably why your script is not working, all it is currently doing is either hosting, or connecting to a server, and spawning a player, any movement that the player performs will be local, since its not being updated on the other computer.
Secondly, I would honestly suggest switching this over to an authoritative server, as physics will be far more accurate this way, but also a bit more laggy. This means that the client simply sends all key strokes to the server, and then the server actually deals with them, you could also interpolate on the clients side, by making the actual player invisible and then lerping a secondary player towards him, to avoid jittery movements. But thats just a suggestion, and not necessarily necessary for your game...
I suggest you also have a read through this, as it goes through what I just said and more far more eloquently and in depth...
http://docs.unity3d.com/Manual/net-HighLevelOverview.html
Good luck :)
IEMatrixGuy
i actually hav the same script as the guy in the video...his working but not $$anonymous$$e,
but well if nothing helps for updating how do i do that? sorry but i know nothing about networking...i understand the concept of it but scripting and stuff ZERO!!
thanks for the authoritative sever iwill check that out!!
Hi,
Consider checking out one of the tutorials...
http://www.palladiumgames.net/tutorials/unity-networking-tutorial/
http://cgcookie.com/unity/2011/12/20/introduction-to-networking-in-unity/ http://www.scribd.com/doc/38199728/$$anonymous$$ulti-Player-Tutorial
I personally quite like this one:
http://www.scribd.com/doc/38400039/$$anonymous$$2H-Unity-Networking-Tutorial
Alternatively, you could also use somethng like Photon (a network pugin, which hosts through photon's servers) which makes networking quite a bit easier in the beginning.
http://www.paladinstudios.com/2013/07/10/how-to-create-an-online-multiplayer-game-with-unity/
Also,
I can't tell wether you have any other networking code in other scripts which should be executing. It is entirely possible that I just can't see some of your code... But I'd still suggest checking out some of the tutorials, thats how I learnt networking :)
Hope that helps :) Good Luck
Answer by 03gramat · Jan 15, 2015 at 02:15 PM
Here's a tutorial that might help get you into controlled networking:
Your answer
Follow this Question
Related Questions
Multiple Cars not working 1 Answer
supplied parameters doesn't match the rpc declaration 1 Answer
Set unity process as server and client? 0 Answers
RPC setName() not working correctly 0 Answers
GetComponent().enabled = true; 1 Answer