プロキシのサポートが必要な場合、トラフィックはプロキシサーバーを通して行われます
The proxy server is a solution to connectivity problems with servers
as well as clients. When a user is running a machine with a non-NAT-punchthrough-capable
router, their connectivity options are limited. A game cannot be hosted
as nobody external can connect to them (only clients on the local network can).
By using the proxy server the machine can be fully connectable but with
the extra cost of having all traffic relayed through another server.
A non NAT punchthrough capable client can connect to any server through
the proxy server, as long as the proxy server is set up properly.
Unity Technologies does not provide a proxy server for public use, so to
use this feature you will need to set up your own proxy server. Of course
it is advisable to set up a proxy server with a public IP address and
a lot of available bandwidth.
When running as a client, just enabling Network.useProxy is all you have
to do. Connect to the server as usual with Network.Connect(). All traffic
will be relayed through the proxy server. The servers external IP and internal
IP still work as usual. So clients can connect to them directly without
the proxy in case they are located on the same network.
When running as a server OnServerInitialized(NetworkPlayer) returns a
NetworkPlayer structure which indicates what the game servers relayed
IP/port is, i.e. what port the proxy server allocated to the game server.
This is the IP/port others can use to connect to. When connecting to the
server, the clients don't treat the server any differently than other servers.
Technically speaking, they don't need to know at all that the game server
is getting help from a proxy server.
When using the master server you can no longer only rely on the IP/port he
registers for servers when using proxy support. The proxy server IP address
and port which the server is using can be placed in the comment field of
the data sent to the master server. A client which received host information
from the master server can peek into the comment field and find out if
he can use an alternative IP/port for that host.
IMPORTANT: You should never enable proxy support for both the server and
the client connecting to him. Unexpected things are bound to happen.
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.