Skip to content

KO UO Topic proxy

Codex edited this page Oct 12, 2026 · 4 revisions

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

프록시

홈 · C# · IDE · UO API · A–Z · 예 · 언어

프록시에 대해 호환 가능한 이름 API. 등록부에 이름이 있다는 것만으로는 운송 지원을 증명할 수 없습니다. 실제 제한사항은 각 카드에 표시되어 있습니다.

섹션

주제 명령 및 설명
UseProxy UO.UseProxy
ProxyIP UO.ProxyIP
ProxyPort UO.ProxyPort
Authentication UO.UseProxy

모든 테마 명령

프록시 구성

UO.UseProxy · UO.ProxyIP · UO.ProxyPort

주제에 대한 예

각 명령 카드에는 직접 코드, 함수 및 클래스 등 여러 가지 독립적인 시나리오가 있습니다. 다음은 선택된 짧은 시나리오입니다. 제한사항과 전체 분석이 카드에 포함되어 있습니다.

UO.ProxyIP

매개변수, 결과 및 모든 시나리오

return UO.ProxyIP();

UO.ProxyPort

매개변수, 결과 및 모든 시나리오

return UO.ProxyPort();

전체 명령 참조


UO.ProxyIP

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

C# 시그니처

dynamic UO.ProxyIP();

연결하기 전에 현재 프로필의 프록시 주소를 읽어 선택한 경로를 확인합니다.

매개변수

매개변수가 없습니다.

반환값

string: 지정된 IP 또는 DNS은 프록시 이름입니다. 직접 조인의 경우 빈 문자열입니다. DNS-이름은 여기서 IP로 변환되지 않습니다. 게임 서버 주소가 아닙니다.

동작

  • 매개변수가 없습니다. 연결 없이도 이 세션 소유자의 설정을 읽습니다. 프록시를 활성화 또는 비활성화하지 않으며, 프록시에 액세스하지 않으며, 다시 연결하거나 비밀번호를 공개하지 않습니다. 관리되는 프록시가 없는 일반 전체는 직접 연결 값을 반환합니다. 연결 변경 사항을 적용하려면 프로필을 변경하고 해당 세션을 다시 시작하세요. 프로필은 로그인과 게임 연결에 모두 사용됩니다.

독립 실행 C# 스크립트

각 예제는 별도의 파일 .csx로 저장하고 IDE에서 실행할 수 있습니다. UO 개체와 대기 기능은 현재 게임 세션의 호스트를 제공합니다. 데모 serial 이름, 좌표, 주소를 자신의 것으로 바꾸세요.

간단한 예제

이 코드를 별도의 .csx 파일로 실행하세요. 인수는 호출에 직접 표시됩니다. 예제의 이름, serial, 주소를 자신의 값으로 바꾸세요.

한 번의 호출 결과를 저널에 표시합니다. 숫자를 bool로 변환하지 않으며, 배열이면 요소 수를 표시합니다.

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

1. UO.ProxyIP - 1 - 직접 스크립트

매개변수와 실행 흐름:

  • Main은 현재 설정을 반환합니다. Proxy.example.invalid:1080의 경우 주소는 "proxy.example.invalid"이고 포트는 1080, UseProxy == 1입니다. 직접 연결의 경우 각각 "", 0, 0입니다. 예제 도메인은 작동 중인 프록시가 아닌 스텁입니다.
return UO.ProxyIP();

2. UO.ProxyIP — 2 — 스크립트 기능

매개변수와 실행 흐름:

  • 배열에는 정확히 일치하는 두 개의 확인된 주소가 포함되어 있습니다. 루프는 UseProxy == 1인 경우에만 구성된 이름을 비교하고, 일치하는 것이 있으면 1를 반환하고, 그렇지 않으면 0를 반환합니다. 이름을 자신의 이름으로 바꾸십시오. 이는 원격 프록시의 신뢰성이 아닌 구성 확인입니다.
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 - 시나리오 수업

매개변수와 실행 흐름:

  • RequireRoute는 주소="proxy.example.invalid", 포트=1080를 수신합니다. UO.Connect까지 세 가지 설정을 모두 확인합니다. 불일치는 연결 없이 0를 제공합니다. 매치에서 연결을 요청하고 1를 제공합니다. 이는 요청이지 게임 진입 확인이 아닙니다. 두 플러그를 모두 교체하십시오. UO.Connected 따로 확인하세요.
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;
}

명령 구현

C#은 대소문자를 구분합니다. 정확한 UO 이름을 사용하세요. 숫자 플래그는 0과 비교하고 반환 형식이 bool일 때만 bool을 사용하세요.

UO.ProxyIP() — UO.ProxyIP()

매개변수: 매개변수가 없습니다.

결과: dynamic / Any.

호출 시:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

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

UO.ProxyPort

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

C# 시그니처

dynamic UO.ProxyPort();

현재 프로필의 프록시 포트를 읽어 주소/포트 쌍을 확인합니다.

매개변수

매개변수가 없습니다.

반환값

int: 1..65535에 구성된 프록시 포트; 0 직접 연결용. 이것은 게임 서버 포트가 아닙니다.

동작

  • 매개변수가 없습니다. 연결 없이도 이 세션 소유자의 설정을 읽습니다. 프록시를 활성화 또는 비활성화하지 않으며, 프록시에 액세스하지 않으며, 다시 연결하거나 비밀번호를 공개하지 않습니다. 관리되는 프록시가 없는 일반 전체는 직접 연결 값을 반환합니다. 연결 변경 사항을 적용하려면 프로필을 변경하고 해당 세션을 다시 시작하세요. 프로필은 로그인과 게임 연결에 모두 사용됩니다.

독립 실행 C# 스크립트

각 예제는 별도의 파일 .csx로 저장하고 IDE에서 실행할 수 있습니다. UO 개체와 대기 기능은 현재 게임 세션의 호스트를 제공합니다. 데모 serial 이름, 좌표, 주소를 자신의 것으로 바꾸세요.

간단한 예제

이 코드를 별도의 .csx 파일로 실행하세요. 인수는 호출에 직접 표시됩니다. 예제의 이름, serial, 주소를 자신의 값으로 바꾸세요.

한 번의 호출 결과를 저널에 표시합니다. 숫자를 bool로 변환하지 않으며, 배열이면 요소 수를 표시합니다.

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

1. UO.ProxyPort - 1 - 직접 스크립트

매개변수와 실행 흐름:

  • Main은 현재 설정을 반환합니다. Proxy.example.invalid:1080의 경우 주소는 "proxy.example.invalid"이고 포트는 1080, UseProxy == 1입니다. 직접 연결의 경우 각각 "", 0, 0입니다. 예제 도메인은 작동 중인 프록시가 아닌 스텁입니다.
return UO.ProxyPort();

2. UO.ProxyPort — 2 — 스크립트 기능

매개변수와 실행 흐름:

  • RouteLabel는 구성된 경로의 서명(주소:포트 또는 직접 연결을 위한 "직접")을 구축합니다. 로그인 및 비밀번호를 읽을 수 없습니다.
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 - 시나리오 수업

매개변수와 실행 흐름:

  • RequireRoute는 주소="proxy.example.invalid", 포트=1080를 수신합니다. UO.Connect까지 세 가지 설정을 모두 확인합니다. 불일치는 연결 없이 0를 제공합니다. 매치에서 연결을 요청하고 1를 제공합니다. 이는 요청이지 게임 진입 확인이 아닙니다. 두 플러그를 모두 교체하십시오. UO.Connected 따로 확인하세요.
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;
}

명령 구현

C#은 대소문자를 구분합니다. 정확한 UO 이름을 사용하세요. 숫자 플래그는 0과 비교하고 반환 형식이 bool일 때만 bool을 사용하세요.

UO.ProxyPort() — UO.ProxyPort()

매개변수: 매개변수가 없습니다.

결과: dynamic / Any.

호출 시:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

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

UO.UseProxy

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

C# 시그니처

dynamic UO.UseProxy();

이 세션이 프록시를 통해 연결되도록 구성되었는지 확인합니다.

매개변수

매개변수가 없습니다.

반환값

프록시가 구성된 경우 int 1 (true), 그렇지 않은 경우 0 (false). C#에서 (결과 != 0) 또는 if (결과 == 1)를 확인하세요. 결과는 int 유형이므로 if (결과) 및 true와의 비교는 허용되지 않습니다. 장치는 프록시 가용성이나 성공적인 승인을 확인하지 않습니다.

동작

  • 매개변수가 없습니다. 연결 없이도 이 세션 소유자의 설정을 읽습니다. 프록시를 활성화 또는 비활성화하지 않으며, 프록시에 액세스하지 않으며, 다시 연결하거나 비밀번호를 공개하지 않습니다. 관리되는 프록시가 없는 일반 전체는 직접 연결 값을 반환합니다. 연결 변경 사항을 적용하려면 프로필을 변경하고 해당 세션을 다시 시작하세요. 프로필은 로그인과 게임 연결에 모두 사용됩니다.

독립 실행 C# 스크립트

각 예제는 별도의 파일 .csx로 저장하고 IDE에서 실행할 수 있습니다. UO 개체와 대기 기능은 현재 게임 세션의 호스트를 제공합니다. 데모 serial 이름, 좌표, 주소를 자신의 것으로 바꾸세요.

간단한 예제

이 코드를 별도의 .csx 파일로 실행하세요. 인수는 호출에 직접 표시됩니다. 예제의 이름, serial, 주소를 자신의 값으로 바꾸세요.

한 번의 호출 결과를 저널에 표시합니다. 숫자를 bool로 변환하지 않으며, 배열이면 요소 수를 표시합니다.

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

1. UO.UseProxy - 1 - 직접 스크립트

매개변수와 실행 흐름:

  • Main은 현재 설정을 반환합니다. Proxy.example.invalid:1080의 경우 주소는 "proxy.example.invalid"이고 포트는 1080, UseProxy == 1입니다. 직접 연결의 경우 각각 "", 0, 0입니다. 예제 도메인은 작동 중인 프록시가 아닌 스텁입니다.
return UO.UseProxy();

2. UO.UseProxy — 2 — 스크립트 기능

매개변수와 실행 흐름:

  • RouteLabel는 구성된 경로의 서명(주소:포트 또는 직접 연결을 위한 "직접")을 구축합니다. 로그인 및 비밀번호를 읽을 수 없습니다.
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 - 시나리오 수업

매개변수와 실행 흐름:

  • RequireRoute는 주소="proxy.example.invalid", 포트=1080를 수신합니다. UO.Connect까지 세 가지 설정을 모두 확인합니다. 불일치는 연결 없이 0를 제공합니다. 매치에서 연결을 요청하고 1를 제공합니다. 이는 요청이지 게임 진입 확인이 아닙니다. 두 플러그를 모두 교체하십시오. UO.Connected 따로 확인하세요.
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;
}

명령 구현

C#은 대소문자를 구분합니다. 정확한 UO 이름을 사용하세요. 숫자 플래그는 0과 비교하고 반환 형식이 bool일 때만 bool을 사용하세요.

UO.UseProxy() — UO.UseProxy()

매개변수: 매개변수가 없습니다.

결과: dynamic / Any.

호출 시:

내부 구현 코드이며 독립 스크립트로 실행할 수 없습니다.

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

Clone this wiki locally