private static Connection ConnectClientLocator(string[] arguments) { var hostname = arguments[1]; var pit = arguments[2]; var lt = arguments[3]; var playerIdentityCredentials = new PlayerIdentityCredentials(); playerIdentityCredentials.PlayerIdentityToken = pit; playerIdentityCredentials.LoginToken = lt; var locatorParameters = new LocatorParameters(); locatorParameters.CredentialsType = LocatorCredentialsType.PlayerIdentity; locatorParameters.PlayerIdentity = playerIdentityCredentials; var locator = new Locator(hostname, locatorParameters); var connectionParameters = new ConnectionParameters(); connectionParameters.WorkerType = WorkerType; connectionParameters.Network.ConnectionType = NetworkConnectionType.Tcp; connectionParameters.Network.UseExternalIp = true; using (var future = locator.ConnectAsync(connectionParameters)) { return(future.Get()); } }
private static Connection ConnectClientWithLocator(string hostname, string projectName, string deploymentId, string loginToken, ConnectionParameters connectionParameters) { Connection connection; connectionParameters.Network.UseExternalIp = true; var locatorParameters = new LocatorParameters { ProjectName = projectName, CredentialsType = LocatorCredentialsType.LoginToken, LoginToken = { Token = loginToken } }; var locator = new Locator(hostname, locatorParameters); using (var future = locator.ConnectAsync(deploymentId, connectionParameters, QueueCallback)) { connection = future.Get(); } connection.SendLogMessage(LogLevel.Info, LoggerName, "Successfully connected using the Locator"); return(connection); }
public async Task<Connection> CreateAsync(ConnectionParameters parameters, CancellationToken? token = null) { parameters.Network.UseExternalIp = true; if (UseDevAuthFlow) { PlayerIdentityToken = GetDevelopmentPlayerIdentityToken(); var loginTokenDetails = GetDevelopmentLoginTokens(parameters.WorkerType, PlayerIdentityToken); LoginToken = SelectLoginToken(loginTokenDetails); } var locatorParameters = new LocatorParameters { PlayerIdentity = new PlayerIdentityCredentials { PlayerIdentityToken = PlayerIdentityToken, LoginToken = LoginToken }, CredentialsType = LocatorCredentialsType.PlayerIdentity, UseInsecureConnection = UseInsecureConnection }; using (var locator = new Locator(LocatorHost, LocatorPort, locatorParameters)) { using (var connectionFuture = locator.ConnectAsync(parameters)) { return await Utils.TryToConnectAsync(connectionFuture, token).ConfigureAwait(false); } } }
public static Connection LocatorConnectToSpatial(LocatorConfig config, string workerType) { config.Validate(); using (var locator = new Locator(config.LocatorHost, config.LocatorParameters)) { Debug.Log("Attempting to retrieve deployment name..."); var deploymentName = GetDeploymentName(locator); Debug.Log("Successfully obtained deployment name!"); Debug.Log("Attempting connection to SpatialOS with Locator..."); var parameters = CreateConnectionParameters(config, workerType); using (var connectionFuture = locator .ConnectAsync(deploymentName, parameters, status => true)) { return(TryToConnect(connectionFuture)); } } }