• 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
Question by Theacesofspades · Jul 11, 2013 at 05:04 PM · networkserverclientconnectdisconnect

Can anyone help me with my network script?

So i am trying to learn how to make a networking game, i can start a server and connect to it but im having problems disconnecting, or so i think. Im not sure which functions to use and i was hoping for some help. The script that i made up is:

 using UnityEngine;
 using System.Collections;
 
 public class NetworkMenu : MonoBehaviour 
 {
     public string connectionIP = "127.0.0.1";
     public int connectionPort = 25001;
     
     public GameObject player;
     
     
     
     void OnDisconnectedFromServer(NetworkDisconnection info)
     {
         if (Network.isServer) 
         {
             // If you are the server
             Destroy(GameObject.FindWithTag("Player"));
             MasterServer.UnregisterHost();
         }
         else{
             if (info == NetworkDisconnection.LostConnection)
             {
                 // If you lose connection to the server
                 Destroy(GameObject.FindWithTag("Player"));
             }else{
                 // If you are client and you press disconnect
                 Destroy(GameObject.FindWithTag("Player"));
             }
         }
     }
     
     void SpawnPlayer ()
     {
         Instantiate(player, transform.position, Quaternion.identity);
     }
     
     void OnServerInitialized ()
     {
         SpawnPlayer ();
     }
     
     void OnConnectedToServer ()
     {
         SpawnPlayer ();
     }
     
     void OnGUI()
     {
         if (Network.peerType == NetworkPeerType.Disconnected)
         {
             GUI.Label(new Rect(10, 10, 300, 20), "Status: Disconnected");
             if (GUI.Button(new Rect(10, 30, 120, 20), "Client Connect"))
             {
                 Network.Connect(connectionIP, connectionPort);
             }
             if (GUI.Button(new Rect(10, 50, 120, 20), "Initialize Server"))
             {
                 Network.InitializeServer(32, connectionPort, false);
             }
         }
         else if (Network.peerType == NetworkPeerType.Client)
         {
             GUI.Label(new Rect(10, 10, 300, 20), "Status: Connected as Client");
             if (GUI.Button(new Rect(10, 30, 120, 20), "Disconnect"))
             {
                 Network.Disconnect(200);
             }
         }
         else if (Network.peerType == NetworkPeerType.Server)
         {
             GUI.Label(new Rect(10, 10, 300, 20), "Status: Connected as Server");
             if (GUI.Button(new Rect(10, 30, 120, 20), "Disconnect"))
             {
                 Network.Disconnect(200);
             }
         }
     }
 }

Also for some reason the OnConnectedToServer function isnt being called. What else should i add to this Script? Thanks for any help.

Comment

People who like this

0 Show 0
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

1 Reply

  • Sort: 
avatar image

Answer by Kiloblargh · Jul 11, 2013 at 06:16 PM

127.0.0.1 isn't a real IP, it is a loopback address meaning localhost. And I don't think you can be the server and also be connected to yourself as client. Run two instances on your local network and get the real IP of the server and connect to that.

Comment

People who like this

0 Show 1 · 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
avatar image Theacesofspades · Jul 12, 2013 at 12:29 AM 0
Share

Before, I used to use a build and unity editor.

Unity Answers is in Read-Only mode

Unity Answers content will be migrated to a new Community platform and we are aiming to launch a public beta by June 9. Please note, Unity Answers is now in read-only so we can prepare for the final data migration.

For more information and updates, please read our full announcement thread in the Unity Forum.

Follow this Question

Answers Answers and Comments

15 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

Related Questions

Client connects to server, but Network.peerType returns Disconnected until next click 2 Answers

connect with Server(Host) 0 Answers

Why won't my network code run on LAN? 2 Answers

How can i get real "extern" IP address ? 2 Answers

Pass an array from server to clients 0 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges