Repository navigation
JA UO Topic proxy
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
家 · C# · IDE · UO API · A–Z · 例 · Languages
プロキシの互換性のある名前 API。レジストリに名前が存在するだけでは、トランスポートのサポートが証明されるわけではありません。実際の制限は各カードに示されています。
| トピック | コマンドと説明 |
|---|---|
| UseProxy | UO.UseProxy |
| ProxyIP | UO.ProxyIP |
| ProxyPort | UO.ProxyPort |
| Authentication | UO.UseProxy |
UO.UseProxy · UO.ProxyIP · UO.ProxyPort
各コマンド カードには、直接コード、関数、クラスなどのいくつかの独立したシナリオがあります。以下は厳選された短いシナリオです。制限と完全な分析がカードに含まれています。
return UO.ProxyIP();return UO.ProxyPort();Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
dynamic UO.ProxyIP();現在のプロファイルのプロキシ アドレスを読み取り、接続する前に選択されたルートを確認します。
パラメータはありません。
string: 指定された IP または DNS はプロキシ名です。直接結合の場合は空の文字列。ここでは、DNS-name は IP に変換されません。これはゲームサーバーのアドレスではありません。
- パラメータはありません。接続なしの場合も含めて、このセッションの所有者の設定を読み取ります。プロキシを有効または無効にせず、プロキシにアクセスせず、再接続したり、パスワードを公開したりしません。マネージド プロキシを使用しない通常の Full は、直接接続値を返します。接続の変更を適用するには、プロファイルを変更し、セッションを再起動します。プロファイルはログインとゲーム接続の両方に使用されます。
各サンプルは個別のファイル .csx として保存し、IDE で実行できます。 UO オブジェクトと待機関数は、現在のゲーム セッションのホストを提供します。デモの serial の名前、座標、アドレスを自分のものに置き換えます。
このコードを独立した .csx ファイルとして実行します。引数は呼び出しに直接記載されています。例の名前、serial、アドレスを自分の値に置き換えてください。
1 回の呼び出し結果をジャーナルに表示します。数値は bool に変換されません。配列の場合は要素数を表示します。
object? result = UO.ProxyIP();
UO.Print(result is Array values ? "Count: " + values.Length : Convert.ToString(result));引数と実行の流れ:
- Main は現在の設定を返します。 proxy.example.invalid:1080 の場合、アドレスは「proxy.example.invalid」、ポート 1080、UseProxy == 1 です。直接接続の場合は、それぞれ「」、0、0。サンプル ドメインはスタブであり、動作するプロキシではありません。
return 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;引数と実行の流れ:
- RequireRoute はアドレス = "proxy.example.invalid"、ポート = 1080 を受け取ります。 UO.Connect までの 3 つの設定をすべて確認します。不一致がある場合、接続なしで 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 を使います。
引数: 引数はありません。
結果: dynamic / Any.
呼び出し時:
内部実装のコードです。単独のスクリプトとして実行できません。
case "proxyip": return new InjectionValue((bridge as IProxyMetadataBridge)?.ProxyAddress ?? string.Empty);Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
dynamic UO.ProxyPort();現在のプロファイルのプロキシ ポートを読み取り、アドレスとポートのペアを確認します。
パラメータはありません。
int: 1..65535 に設定されたプロキシ ポート。 0 直接接続用。これはゲームサーバーのポートではありません。
- パラメータはありません。接続なしの場合も含めて、このセッションの所有者の設定を読み取ります。プロキシを有効または無効にせず、プロキシにアクセスせず、再接続したり、パスワードを公開したりしません。マネージド プロキシを使用しない通常の Full は、直接接続値を返します。接続の変更を適用するには、プロファイルを変更し、セッションを再起動します。プロファイルはログインとゲーム接続の両方に使用されます。
各サンプルは個別のファイル .csx として保存し、IDE で実行できます。 UO オブジェクトと待機関数は、現在のゲーム セッションのホストを提供します。デモの serial の名前、座標、アドレスを自分のものに置き換えます。
このコードを独立した .csx ファイルとして実行します。引数は呼び出しに直接記載されています。例の名前、serial、アドレスを自分の値に置き換えてください。
1 回の呼び出し結果をジャーナルに表示します。数値は bool に変換されません。配列の場合は要素数を表示します。
object? result = UO.ProxyPort();
UO.Print(result is Array values ? "Count: " + values.Length : Convert.ToString(result));引数と実行の流れ:
- Main は現在の設定を返します。 proxy.example.invalid:1080 の場合、アドレスは「proxy.example.invalid」、ポート 1080、UseProxy == 1 です。直接接続の場合は、それぞれ「」、0、0。サンプル ドメインはスタブであり、動作するプロキシではありません。
return UO.ProxyPort();引数と実行の流れ:
- RouteLabel は、設定されたルートの署名を構築します: アドレス:ポート、または直接接続の場合は「direct」。ログイン名とパスワードが読み取れません。
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;引数と実行の流れ:
- RequireRoute はアドレス = "proxy.example.invalid"、ポート = 1080 を受け取ります。 UO.Connect までの 3 つの設定をすべて確認します。不一致がある場合、接続なしで 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 を使います。
引数: 引数はありません。
結果: dynamic / Any.
呼び出し時:
内部実装のコードです。単独のスクリプトとして実行できません。
case "proxyport": return new InjectionValue((bridge as IProxyMetadataBridge)?.ProxyPort ?? 0);Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
dynamic UO.UseProxy();このセッションがプロキシ経由で接続するように構成されているかどうかを確認します。
パラメータはありません。
プロキシが設定されている場合は int 1 (true)、設定されていない場合は 0 (false)。 C# で、(result != 0) または (result == 1) をチェックします。 result のタイプは int であるため、if (result) および true との比較は許可されません。ユニットはプロキシの可用性や認証の成功を確認しません。
- パラメータはありません。接続なしの場合も含めて、このセッションの所有者の設定を読み取ります。プロキシを有効または無効にせず、プロキシにアクセスせず、再接続したり、パスワードを公開したりしません。マネージド プロキシを使用しない通常の Full は、直接接続値を返します。接続の変更を適用するには、プロファイルを変更し、セッションを再起動します。プロファイルはログインとゲーム接続の両方に使用されます。
各サンプルは個別のファイル .csx として保存し、IDE で実行できます。 UO オブジェクトと待機関数は、現在のゲーム セッションのホストを提供します。デモの serial の名前、座標、アドレスを自分のものに置き換えます。
このコードを独立した .csx ファイルとして実行します。引数は呼び出しに直接記載されています。例の名前、serial、アドレスを自分の値に置き換えてください。
1 回の呼び出し結果をジャーナルに表示します。数値は bool に変換されません。配列の場合は要素数を表示します。
object? result = UO.UseProxy();
UO.Print(result is Array values ? "Count: " + values.Length : Convert.ToString(result));引数と実行の流れ:
- Main は現在の設定を返します。 proxy.example.invalid:1080 の場合、アドレスは「proxy.example.invalid」、ポート 1080、UseProxy == 1 です。直接接続の場合は、それぞれ「」、0、0。サンプル ドメインはスタブであり、動作するプロキシではありません。
return UO.UseProxy();引数と実行の流れ:
- RouteLabel は、設定されたルートの署名を構築します: アドレス:ポート、または直接接続の場合は「direct」。ログイン名とパスワードが読み取れません。
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;引数と実行の流れ:
- RequireRoute はアドレス = "proxy.example.invalid"、ポート = 1080 を受け取ります。 UO.Connect までの 3 つの設定をすべて確認します。不一致がある場合、接続なしで 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 を使います。
引数: 引数はありません。
結果: dynamic / Any.
呼び出し時:
内部実装のコードです。単独のスクリプトとして実行できません。
case "useproxy": return new InjectionValue((bridge as IProxyMetadataBridge)?.UsesProxy == true ? 1 : 0);ClassicUO — Bad Newbie & C# Scripts IDE