Skip to content

IT UO Topic proxy

Codex edited this page Oct 12, 2026 · 4 revisions

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

Proxy

Home · C# · IDE · UO API · A–Z · Esempi · Lingue

Nomi compatibili API per i proxy. La semplice presenza di un nominativo in anagrafica non prova il supporto al trasporto: le effettive restrizioni sono indicate su ciascuna tessera.

Sezioni

Argomento Comandi e spiegazioni
UseProxy UO.UseProxy
ProxyIP UO.ProxyIP
ProxyPort UO.ProxyPort
Authentication UO.UseProxy

Tutti i comandi del tema

Configurazione proxy

UO.UseProxy · UO.ProxyIP · UO.ProxyPort

Esempi sull'argomento

Ogni carta comando ha diversi scenari indipendenti: codice diretto, funzioni e classi. Di seguito sono selezionati brevi scenari; restrizioni e un'analisi completa sono nelle carte.

UO.ProxyIP

Parametri, risultato e tutti gli scenari

return UO.ProxyIP();

UO.ProxyPort

Parametri, risultato e tutti gli scenari

return UO.ProxyPort();

Riferimento completo dei comandi


UO.ProxyIP

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

Firme C#

dynamic UO.ProxyIP();

Legge l'indirizzo proxy del profilo corrente per verificare il percorso selezionato prima di connettersi.

Parametri

Non ci sono parametri.

Valore restituito

string: Il IP o DNS specificato è il nome del proxy. Una stringa vuota per un join diretto. DNS-name non viene convertito in IP qui; Questo non è l'indirizzo del server di gioco.

Comportamento

  • Non ci sono parametri. Legge le impostazioni del proprietario di questa sessione, anche senza connessione. Non abilita né disabilita il proxy, non accede allo stesso, non si riconnette né rivela la password. Un normale Full senza proxy gestito restituisce valori di connessione diretta. Per applicare le modifiche alla connessione, modificare il profilo e riavviarne la sessione. Il profilo viene utilizzato sia per l'accesso che per la connessione di gioco.

Script C# autonomi

Ogni esempio può essere salvato come file separato .csx ed eseguito in IDE. Le funzioni oggetto UO e attesa forniscono l'host della sessione di gioco corrente. Sostituisci i nomi, le coordinate e gli indirizzi demo serial con i tuoi.

Esempio semplice

Esegui questo codice in un file .csx separato. Gli argomenti sono visibili nella chiamata; sostituisci nomi, serial e indirizzi di esempio con i tuoi.

Il risultato di una sola chiamata viene mostrato nel diario. Un numero non viene convertito in bool; per un array viene mostrato il numero di elementi.

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

1. UO.ProxyIP - 1 - sceneggiatura diretta

Parametri e flusso di esecuzione:

  • Main ripristina l'impostazione corrente. Per proxy.example.invalid:1080 l'indirizzo è "proxy.example.invalid", porta 1080, UseProxy == 1. Per il collegamento diretto rispettivamente "", 0, 0. Il dominio di esempio è uno stub, non un proxy funzionante.
return UO.ProxyIP();

2. UO.ProxyIP — 2 — funzione di script

Parametri e flusso di esecuzione:

  • L'array contiene due indirizzi risolti con una corrispondenza esatta. Il ciclo confronta il nome configurato solo se UseProxy == 1 e restituisce 1 se c'è una corrispondenza, altrimenti 0. Sostituisci i nomi con i tuoi. Si tratta di un controllo della configurazione, non dell'autenticità 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 - classe dello scenario

Parametri e flusso di esecuzione:

  • RequireRoute riceve indirizzo="proxy.example.invalid", porta=1080. Controlla tutte e tre le impostazioni fino a UO.Connect. Una mancata corrispondenza dà 0 senza connessione. La partita chiede di connettersi e dà 1; Questa è una richiesta, non una conferma di ingresso nel gioco. Sostituire entrambe le spine; UO.Connected controllare separatamente.
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;
}

Implementazione del comando

C# distingue maiuscole e minuscole. Usare il nome UO esatto. Confrontare i flag numerici con 0; usare bool solo se la firma restituisce bool.

UO.ProxyIP() — UO.ProxyIP()

Parametri: Nessun parametro.

Risultato: dynamic / Any.

Durante la chiamata:

Codice interno di implementazione; non è uno script autonomo.

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

UO.ProxyPort

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

Firme C#

dynamic UO.ProxyPort();

Legge la porta proxy del profilo corrente per verificare la coppia indirizzo/porta.

Parametri

Non ci sono parametri.

Valore restituito

int: porta proxy configurata in 1..65535; 0 per collegamento diretto. Questa non è una porta del server di gioco.

Comportamento

  • Non ci sono parametri. Legge le impostazioni del proprietario di questa sessione, anche senza connessione. Non abilita né disabilita il proxy, non accede allo stesso, non si riconnette né rivela la password. Un normale Full senza proxy gestito restituisce valori di connessione diretta. Per applicare le modifiche alla connessione, modificare il profilo e riavviarne la sessione. Il profilo viene utilizzato sia per l'accesso che per la connessione di gioco.

Script C# autonomi

Ogni esempio può essere salvato come file separato .csx ed eseguito in IDE. Le funzioni oggetto UO e attesa forniscono l'host della sessione di gioco corrente. Sostituisci i nomi, le coordinate e gli indirizzi demo serial con i tuoi.

Esempio semplice

Esegui questo codice in un file .csx separato. Gli argomenti sono visibili nella chiamata; sostituisci nomi, serial e indirizzi di esempio con i tuoi.

Il risultato di una sola chiamata viene mostrato nel diario. Un numero non viene convertito in bool; per un array viene mostrato il numero di elementi.

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

1. UO.ProxyPort - 1 - sceneggiatura diretta

Parametri e flusso di esecuzione:

  • Main ripristina l'impostazione corrente. Per proxy.example.invalid:1080 l'indirizzo è "proxy.example.invalid", porta 1080, UseProxy == 1. Per il collegamento diretto rispettivamente "", 0, 0. Il dominio di esempio è uno stub, non un proxy funzionante.
return UO.ProxyPort();

2. UO.ProxyPort — 2 — funzione di script

Parametri e flusso di esecuzione:

  • RouteLabel costruisce la firma della rotta configurata: indirizzo:porta o “diretto” per una connessione diretta. Login e password non sono leggibili.
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 - classe dello scenario

Parametri e flusso di esecuzione:

  • RequireRoute riceve indirizzo="proxy.example.invalid", porta=1080. Controlla tutte e tre le impostazioni fino a UO.Connect. Una mancata corrispondenza dà 0 senza connessione. La partita chiede di connettersi e dà 1; Questa è una richiesta, non una conferma di ingresso nel gioco. Sostituire entrambe le spine; UO.Connected controllare separatamente.
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;
}

Implementazione del comando

C# distingue maiuscole e minuscole. Usare il nome UO esatto. Confrontare i flag numerici con 0; usare bool solo se la firma restituisce bool.

UO.ProxyPort() — UO.ProxyPort()

Parametri: Nessun parametro.

Risultato: dynamic / Any.

Durante la chiamata:

Codice interno di implementazione; non è uno script autonomo.

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

UO.UseProxy

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

Firme C#

dynamic UO.UseProxy();

Controlla se questa sessione è configurata per la connessione tramite un proxy.

Parametri

Non ci sono parametri.

Valore restituito

int 1 (true) se è configurato il proxy, altrimenti 0 (false). In C# controlla se (risultato != 0) o se (risultato == 1); il risultato è di tipo int, quindi se (risultato) e il confronto con true non sono consentiti. L'unità non conferma la disponibilità del proxy o l'autorizzazione riuscita.

Comportamento

  • Non ci sono parametri. Legge le impostazioni del proprietario di questa sessione, anche senza connessione. Non abilita né disabilita il proxy, non accede allo stesso, non si riconnette né rivela la password. Un normale Full senza proxy gestito restituisce valori di connessione diretta. Per applicare le modifiche alla connessione, modificare il profilo e riavviarne la sessione. Il profilo viene utilizzato sia per l'accesso che per la connessione di gioco.

Script C# autonomi

Ogni esempio può essere salvato come file separato .csx ed eseguito in IDE. Le funzioni oggetto UO e attesa forniscono l'host della sessione di gioco corrente. Sostituisci i nomi, le coordinate e gli indirizzi demo serial con i tuoi.

Esempio semplice

Esegui questo codice in un file .csx separato. Gli argomenti sono visibili nella chiamata; sostituisci nomi, serial e indirizzi di esempio con i tuoi.

Il risultato di una sola chiamata viene mostrato nel diario. Un numero non viene convertito in bool; per un array viene mostrato il numero di elementi.

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

1. UO.UseProxy - 1 - sceneggiatura diretta

Parametri e flusso di esecuzione:

  • Main ripristina l'impostazione corrente. Per proxy.example.invalid:1080 l'indirizzo è "proxy.example.invalid", porta 1080, UseProxy == 1. Per il collegamento diretto rispettivamente "", 0, 0. Il dominio di esempio è uno stub, non un proxy funzionante.
return UO.UseProxy();

2. UO.UseProxy — 2 — funzione di script

Parametri e flusso di esecuzione:

  • RouteLabel costruisce la firma della rotta configurata: indirizzo:porta o “diretto” per una connessione diretta. Login e password non sono leggibili.
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 - classe dello scenario

Parametri e flusso di esecuzione:

  • RequireRoute riceve indirizzo="proxy.example.invalid", porta=1080. Controlla tutte e tre le impostazioni fino a UO.Connect. Una mancata corrispondenza dà 0 senza connessione. La partita chiede di connettersi e dà 1; Questa è una richiesta, non una conferma di ingresso nel gioco. Sostituire entrambe le spine; UO.Connected controllare separatamente.
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;
}

Implementazione del comando

C# distingue maiuscole e minuscole. Usare il nome UO esatto. Confrontare i flag numerici con 0; usare bool solo se la firma restituisce bool.

UO.UseProxy() — UO.UseProxy()

Parametri: Nessun parametro.

Risultato: dynamic / Any.

Durante la chiamata:

Codice interno di implementazione; non è uno script autonomo.

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

Clone this wiki locally