Skip to content

ES UO Topic proxy

Codex edited this page Oct 12, 2026 · 4 revisions

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

Proxy

Inicio · C# · IDE · UO API · A–Z · Ejemplos · Idiomas

Nombres compatibles API para proxies. La mera presencia de un nombre en el registro no justifica el apoyo al transporte: las restricciones reales están indicadas en cada tarjeta.

Secciones

Tema Comandos y explicaciones
UseProxy UO.UseProxy
ProxyIP UO.ProxyIP
ProxyPort UO.ProxyPort
Authentication UO.UseProxy

Todos los comandos del tema

Configuración de proxy

UO.UseProxy · UO.ProxyIP · UO.ProxyPort

Ejemplos sobre el tema.

Cada tarjeta de comando tiene varios escenarios independientes: código directo, funciones y clases. A continuación se muestran escenarios breves seleccionados; restricciones y análisis completos están en las cartas.

UO.ProxyIP

Parámetros, resultado y todos los escenarios

return UO.ProxyIP();

UO.ProxyPort

Parámetros, resultado y todos los escenarios

return UO.ProxyPort();

Referencia completa de comandos


UO.ProxyIP

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

Firmas de C#

dynamic UO.ProxyIP();

Lee la dirección proxy del perfil actual para verificar la ruta seleccionada antes de conectarse.

Parámetros

No hay parámetros.

Valor devuelto

string: El IP o DNS especificado es el nombre del proxy. Una cadena vacía para una unión directa. DNS-nombre no se convierte a IP aquí; Esta no es la dirección del servidor del juego.

Comportamiento

  • No hay parámetros. Lee la configuración del propietario de esta sesión, incluso sin conexión. No habilita ni deshabilita el proxy, no accede a él, no se vuelve a conectar ni revela la contraseña. Un Full normal sin un proxy administrado devuelve valores de conexión directa. Para aplicar cambios de conexión, cambie el perfil y reinicie su sesión. El perfil se utiliza tanto para iniciar sesión como para conectarse a juegos.

Scripts independientes de C#

Cada ejemplo se puede guardar como un archivo independiente .csx y ejecutar en IDE. Las funciones de objeto UO y de espera proporcionan el anfitrión de la sesión de juego actual. Reemplace los nombres, coordenadas y direcciones de la demostración serial por los suyos propios.

Ejemplo sencillo

Ejecuta este código en un archivo .csx independiente. Los argumentos aparecen en la llamada; sustituye los nombres, seriales y direcciones de ejemplo por los tuyos.

El resultado de una sola llamada se muestra en el diario. Un número no se convierte en bool; para un array se muestra su cantidad de elementos.

object? result = UO.ProxyIP();
UO.Print(result is Array values ? "Count: " + values.Length : Convert.ToString(result));

1. UO.ProxyIP - 1 - guión directo

Parámetros y flujo de ejecución:

  • Main devuelve la configuración actual. Para proxy.example.invalid:1080 la dirección es "proxy.example.invalid", puerto 1080, UseProxy == 1. Para conexión directa, respectivamente "", 0, 0. El dominio de ejemplo es un código auxiliar, no un proxy que funcione.
return UO.ProxyIP();

2. UO.ProxyIP — 2 — función de secuencia de comandos

Parámetros y flujo de ejecución:

  • La matriz contiene dos direcciones resueltas con una coincidencia exacta. El bucle compara el nombre configurado solo si UseProxy == 1 y devuelve 1 si hay una coincidencia; en caso contrario, 0. Reemplace los nombres con los suyos. Esta es una verificación de configuración, no la autenticidad del proxy remoto.
return  RunScenario();
 object? RunScenario()
{
    dynamic[] allowed = new dynamic[checked((int)(1) + 1)];
    allowed[0] = "proxy.example.invalid";
    allowed[1] = "127.0.0.1";
    if (Truth(UO.UseProxy()))
    {
        var index = 0;
        while (Truth(index < ArrayLength(allowed)))
        {
            if (Truth(UO.ProxyIP() == allowed[index]))
            {
                return 1;
            }

            index = index + 1;
        }
    }

    return 0;
    return null;
}

int ArrayLength(object? value) => value is System.Array array ? array.Length : 0;
bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;

3. UO.ProxyIP - 3 - clase de escenario

Parámetros y flujo de ejecución:

  • RequireRoute recibe dirección="proxy.example.invalid", puerto=1080. Comprueba las tres configuraciones hasta UO.Connect. Una falta de coincidencia da 0 sin conexión. El partido pide conectarse y da 1; Esta es una solicitud, no una confirmación de entrada al juego. Reemplace ambos enchufes; UO.Connected comprobar por separado.
return  new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
    private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
    private readonly Func<int, Task> WaitAsync;
    private readonly string[] Args;
    private readonly CancellationToken Cancellation;
    private readonly Action Checkpoint;
    public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
    {
        UO = api;
        WaitAsync = wait;
        Args = args;
        Cancellation = cancellation;
        Checkpoint = checkpoint;
    }

     public object? RunScenario()
    {
        return RequireRoute("proxy.example.invalid", 1080);
        return null;
    }

    dynamic RequireRoute(dynamic address, dynamic port)
    {
        if (!(Truth(UO.UseProxy())))
        {
            return 0;
        }

        if (Truth(UO.ProxyIP() != address) || Truth(UO.ProxyPort() != port))
        {
            return 0;
        }

        UO.Connect();
        return 1;
    }

    bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;
}

Implementación del comando

C# distingue mayúsculas y minúsculas. Use el nombre UO exacto. Compare indicadores numéricos con 0; use bool solo si la firma devuelve bool.

UO.ProxyIP() — UO.ProxyIP()

Parámetros: Sin parámetros.

Resultado: dynamic / Any.

Durante la llamada:

Código interno de implementación; no es un script independiente.

case "proxyip": return new InjectionValue((bridge as IProxyMetadataBridge)?.ProxyAddress ?? string.Empty);

UO.ProxyPort

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

Firmas de C#

dynamic UO.ProxyPort();

Lee el puerto proxy del perfil actual para comprobar el par dirección/puerto.

Parámetros

No hay parámetros.

Valor devuelto

int: puerto proxy configurado en 1..65535; 0 para conexión directa. Este no es un puerto de servidor de juegos.

Comportamiento

  • No hay parámetros. Lee la configuración del propietario de esta sesión, incluso sin conexión. No habilita ni deshabilita el proxy, no accede a él, no se vuelve a conectar ni revela la contraseña. Un Full normal sin un proxy administrado devuelve valores de conexión directa. Para aplicar cambios de conexión, cambie el perfil y reinicie su sesión. El perfil se utiliza tanto para iniciar sesión como para conectarse a juegos.

Scripts independientes de C#

Cada ejemplo se puede guardar como un archivo independiente .csx y ejecutar en IDE. Las funciones de objeto UO y de espera proporcionan el anfitrión de la sesión de juego actual. Reemplace los nombres, coordenadas y direcciones de la demostración serial por los suyos propios.

Ejemplo sencillo

Ejecuta este código en un archivo .csx independiente. Los argumentos aparecen en la llamada; sustituye los nombres, seriales y direcciones de ejemplo por los tuyos.

El resultado de una sola llamada se muestra en el diario. Un número no se convierte en bool; para un array se muestra su cantidad de elementos.

object? result = UO.ProxyPort();
UO.Print(result is Array values ? "Count: " + values.Length : Convert.ToString(result));

1. UO.ProxyPort - 1 - guión directo

Parámetros y flujo de ejecución:

  • Main devuelve la configuración actual. Para proxy.example.invalid:1080 la dirección es "proxy.example.invalid", puerto 1080, UseProxy == 1. Para conexión directa, respectivamente "", 0, 0. El dominio de ejemplo es un código auxiliar, no un proxy que funcione.
return UO.ProxyPort();

2. UO.ProxyPort — 2 — función de secuencia de comandos

Parámetros y flujo de ejecución:

  • RouteLabel construye la firma de la ruta configurada: dirección:puerto o “directa” para una conexión directa. El inicio de sesión y la contraseña no son legibles.
return  RunScenario();
 object? RunScenario()
{
    return RouteLabel();
    return null;
}

dynamic RouteLabel()
{
    if (Truth(UO.UseProxy()))
    {
        return UO.ProxyIP() + ":" + Convert.ToString(UO.ProxyPort());
    }

    return "direct";
}

bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;

3. UO.ProxyPort - 3 - clase de escenario

Parámetros y flujo de ejecución:

  • RequireRoute recibe dirección="proxy.example.invalid", puerto=1080. Comprueba las tres configuraciones hasta UO.Connect. Una falta de coincidencia da 0 sin conexión. El partido pide conectarse y da 1; Esta es una solicitud, no una confirmación de entrada al juego. Reemplace ambos enchufes; UO.Connected comprobar por separado.
return  new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
    private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
    private readonly Func<int, Task> WaitAsync;
    private readonly string[] Args;
    private readonly CancellationToken Cancellation;
    private readonly Action Checkpoint;
    public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
    {
        UO = api;
        WaitAsync = wait;
        Args = args;
        Cancellation = cancellation;
        Checkpoint = checkpoint;
    }

     public object? RunScenario()
    {
        return RequireRoute("proxy.example.invalid", 1080);
        return null;
    }

    dynamic RequireRoute(dynamic address, dynamic port)
    {
        if (!(Truth(UO.UseProxy())))
        {
            return 0;
        }

        if (Truth(UO.ProxyIP() != address) || Truth(UO.ProxyPort() != port))
        {
            return 0;
        }

        UO.Connect();
        return 1;
    }

    bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;
}

Implementación del comando

C# distingue mayúsculas y minúsculas. Use el nombre UO exacto. Compare indicadores numéricos con 0; use bool solo si la firma devuelve bool.

UO.ProxyPort() — UO.ProxyPort()

Parámetros: Sin parámetros.

Resultado: dynamic / Any.

Durante la llamada:

Código interno de implementación; no es un script independiente.

case "proxyport": return new InjectionValue((bridge as IProxyMetadataBridge)?.ProxyPort ?? 0);

UO.UseProxy

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

Firmas de C#

dynamic UO.UseProxy();

Comprueba si esta sesión está configurada para conectarse a través de un proxy.

Parámetros

No hay parámetros.

Valor devuelto

int 1 (true) si el proxy está configurado, en caso contrario 0 (false). En C# verifica si (resultado!= 0) o si (resultado == 1); El resultado es de tipo int, por lo que si (resultado) y la comparación con true no están permitidos. La unidad no confirma la disponibilidad del proxy ni la autorización exitosa.

Comportamiento

  • No hay parámetros. Lee la configuración del propietario de esta sesión, incluso sin conexión. No habilita ni deshabilita el proxy, no accede a él, no se vuelve a conectar ni revela la contraseña. Un Full normal sin un proxy administrado devuelve valores de conexión directa. Para aplicar cambios de conexión, cambie el perfil y reinicie su sesión. El perfil se utiliza tanto para iniciar sesión como para conectarse a juegos.

Scripts independientes de C#

Cada ejemplo se puede guardar como un archivo independiente .csx y ejecutar en IDE. Las funciones de objeto UO y de espera proporcionan el anfitrión de la sesión de juego actual. Reemplace los nombres, coordenadas y direcciones de la demostración serial por los suyos propios.

Ejemplo sencillo

Ejecuta este código en un archivo .csx independiente. Los argumentos aparecen en la llamada; sustituye los nombres, seriales y direcciones de ejemplo por los tuyos.

El resultado de una sola llamada se muestra en el diario. Un número no se convierte en bool; para un array se muestra su cantidad de elementos.

object? result = UO.UseProxy();
UO.Print(result is Array values ? "Count: " + values.Length : Convert.ToString(result));

1. UO.UseProxy - 1 - guión directo

Parámetros y flujo de ejecución:

  • Main devuelve la configuración actual. Para proxy.example.invalid:1080 la dirección es "proxy.example.invalid", puerto 1080, UseProxy == 1. Para conexión directa, respectivamente "", 0, 0. El dominio de ejemplo es un código auxiliar, no un proxy que funcione.
return UO.UseProxy();

2. UO.UseProxy — 2 — función de secuencia de comandos

Parámetros y flujo de ejecución:

  • RouteLabel construye la firma de la ruta configurada: dirección:puerto o “directa” para una conexión directa. El inicio de sesión y la contraseña no son legibles.
return  RunScenario();
 object? RunScenario()
{
    return RouteLabel();
    return null;
}

dynamic RouteLabel()
{
    if (Truth(UO.UseProxy()))
    {
        return UO.ProxyIP() + ":" + Convert.ToString(UO.ProxyPort());
    }

    return "direct";
}

bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;

3. UO.UseProxy - 3 - clase de escenario

Parámetros y flujo de ejecución:

  • RequireRoute recibe dirección="proxy.example.invalid", puerto=1080. Comprueba las tres configuraciones hasta UO.Connect. Una falta de coincidencia da 0 sin conexión. El partido pide conectarse y da 1; Esta es una solicitud, no una confirmación de entrada al juego. Reemplace ambos enchufes; UO.Connected comprobar por separado.
return  new ScriptScenario(UO, WaitAsync, Args, Cancellation, Checkpoint).RunScenario();
class ScriptScenario
{
    private readonly global::ClassicUO.CSharp.CSharpGameApi UO;
    private readonly Func<int, Task> WaitAsync;
    private readonly string[] Args;
    private readonly CancellationToken Cancellation;
    private readonly Action Checkpoint;
    public ScriptScenario(global::ClassicUO.CSharp.CSharpGameApi api, Func<int, Task> wait, string[] args, CancellationToken cancellation, Action checkpoint)
    {
        UO = api;
        WaitAsync = wait;
        Args = args;
        Cancellation = cancellation;
        Checkpoint = checkpoint;
    }

     public object? RunScenario()
    {
        return RequireRoute("proxy.example.invalid", 1080);
        return null;
    }

    dynamic RequireRoute(dynamic address, dynamic port)
    {
        if (!(Truth(UO.UseProxy())))
        {
            return 0;
        }

        if (Truth(UO.ProxyIP() != address) || Truth(UO.ProxyPort() != port))
        {
            return 0;
        }

        UO.Connect();
        return 1;
    }

    bool Truth(object? value) => value is bool flag ? flag : value is string text ? !string.IsNullOrEmpty(text) : value != null && Convert.ToDouble(value) != 0;
}

Implementación del comando

C# distingue mayúsculas y minúsculas. Use el nombre UO exacto. Compare indicadores numéricos con 0; use bool solo si la firma devuelve bool.

UO.UseProxy() — UO.UseProxy()

Parámetros: Sin parámetros.

Resultado: dynamic / Any.

Durante la llamada:

Código interno de implementación; no es un script independiente.

case "useproxy": return new InjectionValue((bridge as IProxyMetadataBridge)?.UsesProxy == true ? 1 : 0);

Clone this wiki locally