- Home /
Question by
Romano185 · Sep 02, 2012 at 01:50 PM ·
networkingserveronlineconnect
Server does not connect
Hi everybody
I made an online game, which works great if I test it using 2 instances of the game on my computer, but it doesn't work if I try it online. Also I tried using Hamachi, but this doesn't work either. I used the script provided by the CgCookie Networking Tutorial and added a part which instantiates players with their own cameras.
var gameName : String = "Arandomgamename";
private var refreshing : boolean;
private var hostData : HostData[];
var player : GameObject;
private var btnX : float;
private var btnY : float;
private var btnW : float;
private var btnH : float;
var myCam : Camera;
var myAudioListener : AudioListener;
function Start () {
btnX = Screen.width * 0.05;
btnY = Screen.width * 0.05;
btnW = Screen.width * 0.1;
btnH = Screen.width * 0.1;
}
function StartServer () {
Network.InitializeServer(32,25001, !Network.HavePublicAddress);
MasterServer.RegisterHost(gameName, "Random Name", "Derp");
}
function RefreshHostList (){
MasterServer.RequestHostList(gameName);
refreshing = true;
}
function Update (){
if (refreshing){
if (MasterServer.PollHostList().length > 0){
refreshing = false;
Debug.Log(MasterServer.PollHostList().length);
hostData = MasterServer.PollHostList();
}
}
}
function SpawnPlayer () {
var playerInstance : GameObject = Network.Instantiate(player, gameObject.transform.position, gameObject.transform.rotation, 0);
myCam = playerInstance.GetComponentInChildren(Camera);
myAudioListener = playerInstance.GetComponentInChildren(AudioListener);
if (playerInstance.networkView.isMine){
if (myCam.enabled == false){
myCam.enabled = true;
}
if (myAudioListener.enabled == false){
myAudioListener.enabled = true;
}
}
}
// Messages
function OnServerInitialized () {
Debug.Log("Server Initialized");
SpawnPlayer ();
}
function OnConnectedToServer () {
SpawnPlayer ();
}
function OnMasterServerEvent(mse : MasterServerEvent){
if (mse == MasterServerEvent.RegistrationSucceeded){
Debug.Log("Registered Server");
}
}
// GUI
function OnGUI () {
if (!Network.isClient && !Network.isServer) {
if (GUI.Button(Rect(btnX, btnY, btnW, btnH), "Start Server")){
Debug.Log("Server Starting");
StartServer ();
}
if (GUI.Button(Rect(btnX, btnY * 1.2 + btnH, btnW, btnH), "Refresh Hosts")){
Debug.Log("Refreshing");
RefreshHostList ();
}
if (hostData){
for (var i : int = 0; i < hostData.length; i++){
if (GUI.Button(Rect(btnX * 1.5 + btnW, btnY * 1.2 * (btnH * i), btnW * 3, btnH * 0.5), hostData[i].gameName)){
Network.Connect(hostData[i]);
Debug.Log("herp");
}
}
}
}
}
I expect that my server works fine, but there's probably a problem with my internet connection. I used Hamachi, so I expect no problems with port-forwarding. And also, where is the IP Adress? Is it hidden in the hostData? Help me please.
Comment