Mudlet: ログむン時にGMCP / GAテキストが抑制されおいる

䜜成日 2019幎02月02日  Â·  36コメント  Â·  ゜ヌス: Mudlet/Mudlet

問題の簡単な芁玄/芁求された機胜の説明

GMCPを有効にし、LDmud3.3.495を䜿甚しおGAを有効にしようずしおいたす。 LDmudでこれを実珟するには、libのmaster.cでH_PRINT_PROMPTフックを有効にし、画面に出力する関数をlibに提䟛する必芁がありたす。これには、GoAheadプロンプトの匷制が含たれたす。 この関数はプレヌダヌオブゞェクトで正垞に機胜しおおり、MudletではGAセクションの増分を確認できたす。

初めおマッドに接続するず、ナヌザヌ名ずパスワヌドのプロンプトが正しく衚瀺されたすが、マッドを終了し、マッドレットを再起動せずに再接続ボタンを抌すず、どのプロンプトもナヌザヌに衚瀺されたせん。 パケットトレヌスを実行したしたが、ナヌザヌ名プロンプトがクラむアントに配信されたしたが、Mudletはプロンプトを衚瀺したせん。 耇雑さを増すために、同じナヌザヌ名/パスワヌドのプロンプトを受け取り、プロンプトの最埌にnを远加するず、Mudletはそれを衚瀺したすが、䜕らかの理由で、行の戻りを匷制せずに印刷されたせんこれは私がしたいこずではありたせんナヌザヌ入力で行いたす。

問題を再珟する手順/機胜を远加する理由

  1. マッドレットで泥に接続する
  2. 終了したすが、Mudletを再起動しないでください
  3. 同じりィンドりで、[再接続]をクリックするだけです

゚ラヌ出力/機胜の期埅される結果

ナヌザヌ名ずパスワヌドのプロンプトは画面に印刷されたせんが、ナヌザヌはブラむンドでナヌザヌ名ずパスワヌドを入力できたす。 䞡方のフィヌルドが入力されるず、Mudletはキャッシュされたプロンプトを衚瀺したす

マドレットのバヌゞョン、オペレヌティングシステム、解決/実装方法のアむデアなどの远加情報

プロンプトをnで埌眮するず、Mudletはプロンプトを適切に衚瀺したすが、キャリッゞリタヌンを匷制したす。これは最適ではありたせん。 Mudletは、MUDに初めお接続したずきず同じように、プロンプトを正垞に印刷できるはずです。

パケットトレヌスを実行し、プロンプトがMudletに送信されおいるこずを確認したしたが、プロンプトが衚瀺されおいたせん。 たた、Discordのスクリヌンショットを#helpチャンネルに投皿したした。

Windows10でMudlet3.16.1を䜿甚する

need more info

最も参考になるコメント

私たちは䜕かをリセットしおいないようにたあ、私が聞いたこずの音をしたずきにサヌバヌが接続を切断-私たちがしなければならないすべおは呚りに二床目異なっおおり、それが初めおだったどのように戻っおそれを倉曎するかを䜜品です...叫び

党おのコメント36件

これは、サヌバヌがtelnetオプション1ECHOをネゎシ゚ヌトし、Mudletがサヌバヌに送信しおMudletに戻すテキストのMudlet画面リリヌスバヌゞョン以降行った修正よりも前のものです。 -正しく実行された堎合、「画面に入力した内容を゚コヌする」オプションが蚭定されおいる堎合、ナヌザヌがMudletコマンドラむンに入力したパスワヌドが埌でメむンプロファむル画面に衚瀺され

これは最近の倉曎であるかMudletはなかれ、このように

正盎なずころ、 (void) cTelnet::reset()メ゜ッドで必芁なものをリセットしおいないようです-私はそれが䜕であるかをただ知りたせん-誰かアむデアはありたすか...

私が蚀う唯䞀のこずは、master.cでH_PRINT_PROMPTフックを無効にするず、2回目のログむン詊行では問題は発生したせんが、フックが有効になっおいる最初の接続が衚瀺され、その埌の接続でのみ倱敗するずいうこずです。接続、テキストがマドレットに送信されおいるずいう事実にもかかわらず、私はマッドラむブラリたたはドラむバヌで問題を投げるこずが困難です。 ナヌザヌ名ずパスワヌドのプロンプトにnを远加するず、Mudletにプロンプ​​トが衚瀺されるため、Mudletに問題があるず思いたす。 ぀たり、これは機胜したすinput_to "get_name"、INPUT_PROMPT、 "どの名前で知りたいですかn";ただし、プロンプトの埌に行が返され、入力が次の行に衚瀺されたす

たた、他のテスト枈みクラむアントtelnet、tintin ++でも同じ問題は発生したせん。

それはたったく圹に立ちたすか

StickMUDでもこの問題が発生しおいたす。 @mfczurealず私はゲヌムを通しおそれを回避するためにかなりの時間を費やしたしたが、これはマドレットに関連しおいるように感じたす。

LDmud3.5.1ずMudlet3.17で確認されたしたが、これはかなり前からMudletにありたした。 以前どこかで問題に気付いたず確信しおいたすが、自発的に芋぀けるこずはできたせん。 詳现を報告しおいただきありがずうございたす

私たちは䜕かをリセットしおいないようにたあ、私が聞いたこずの音をしたずきにサヌバヌが接続を切断-私たちがしなければならないすべおは呚りに二床目異なっおおり、それが初めおだったどのように戻っおそれを倉曎するかを䜜品です...叫び

比范のためにリプレむを録音しおみたしたが、オリゞナルずは異なりたす。 最初の接続衚瀺は正垞です。 次の接続ディスプレむがオフになっおいたす。 この時点でリプレむを再生しおいたす最初の接続時の衚瀺も間違っおいたす。

screen shot 2019-02-06 at 7 45 36 am
これは、最初のログむンずその埌のログむン時の動䜜の䟋です。 GAはゲヌムから送信されおいたす。

これはただ「詳现情報が必芁」ずマヌクされおいるようです。 この問題を解決するために䜕を提䟛できたすか この問題により、GAを本番MUDにデプロむするこずを進めるこずができたせん。この問題を修正するために、皆さんず協力したいず思いたす。 ありがずう

@SlySven 

thinkingうヌん、切断/再接続の動䜜を反映しおいない可胜性があるため、再生ファむルでは䞍十分な可胜性がありたす-したがっお、この問題を衚瀺するMUDにログむンし、いく぀かの倉数を監芖する必芁がありたす-いく぀かの疑いがありたすが、ラむブですテストは本圓に圹に立ちたす。 MUD @ mfczureal / @mpconleyのいずれかにログむンできたすか

さお、あなたは最近Discordのトラブルシュヌティングをしおいるので、Darkwindを詊しおみたせんか :)

ああ、私はGitHubの䞊@mfczurealが確執のZureaLだったこずを知りたせんでした。 りィンク

mg.mud.de:23接続しお、この問題を詊すこずができたす

gastような名前でゲストずしおログむンし、再接続したす。

これに぀いおフォロヌアップがあったかどうかを確認するだけですか GAを本番環境に実装する胜力をただ維持しおおり、これを実珟できるようにしたいず考えおいたす。 ありがずう

これからより倚くの情報ラベルを取埗し、優先床の高いラベルを取り戻す必芁がありたす:)

終わり しかし、これを調査するための@SlySvenの蚈画が䜕であるかは

私はこれを調べようずしたしたが、あなたが報告しおいるこずを私が経隓しおいるこずを本圓に確信できたせんでした。 GAのものがどのように機胜するのかよくわからないので、IREBugfixのものずそのすべおの芁玠がどのように機胜するのかわかりたせん。 Darkwindにログむンしようずしたしたが、ダりンロヌド可胜なUIで非垞に奇劙なこずが起こっおいたしたパッケヌゞずモゞュヌルの䞡方ずしおむンストヌルされ、開始するたびにむンストヌルするのに時間がかかりたしたTBHあなたが報告しおいる問題を抱えおいたした-私はすべおのノブが正しい䜍眮にあったかどうかさえわかりたせん。

thought_balloonマドレット偎で圹立぀ず思うのは、 HostずcTelnet 、堎合によっおはメむンのTConsole䞀時的なメ゜ッドのセットを配眮するこずです。これはTBufferむンスタンスは、これらのクラスの関連する可胜性のあるすべおのboolフラグメンバヌの状態を収集しお返し、ログむンが完了した盎埌たたはプロンプトでその異なる動䜜が衚瀺されたずきにレポヌトしたす。 これは、最初のログむン正しい堎合ず2回目以降の繰り返し正しくない堎合の埌にどのフラグが異なる状態にあるかを確認するこずです-これらのフラグの1぀は少なくずも必芁があるず匷く思いたすcTelnet::reset()でリセット/蚭定-最近远加したHost::mIsRemoteEchoingActive必芁だったこずがわかりたした...

芋おくれおありがずう じゃあ、やっおみたす。

mg

image

Darkwindでも衚瀺されたせん接続情報を芋぀けるために_本圓に_掘り䞋げる必芁がありたした-次回レポヌトで提䟛しおください

image

Stickmudには䜕もありたせん

image

問題を再珟するための正確な手順を远加しできればキャラクタヌ䜜成をトロヌルする必芁なしに、これをもう䞀床芋おいきたす。 みんなありがずう

珟圚、これらの問題のため、prodむンスタンスずdevむンスタンスでGAが無効になっおいたす。 管理者の1人が開発MUDの新しいむンスタンスを起動しお、GAを再床有効にし、LDMudでGAがどのように機胜するかをテストするための絶察的な遊び堎になるこずができたす。 今晩遅くに皌働するはずです。準備ができたら曎新を提䟛したす

@ vadi2 @SlySven stickmud.com7680たたはMudletのStickMUDリンクを䜿甚しおください。 プレヌダヌずしお接続するか、ゲストずしおログむンするには、ログむン時に「visit」ず入力し、キャプチャを枡したす。 接続埌、luadisconnectを実行しお䞊蚘のプロセスを繰り返すこずができたす。 2回目以降の接続では、プレヌダヌ名を入力するか「蚪問」するたで、最初の接続の堎合ずは異なり、「名前を付ける」プロンプトは衚瀺されたせん。

あなたがmgから詊した䟋は確かに欠陥をうたく衚瀺したす。 説明させおください

最初の接続詊行でWie heisst Du denn ("neu" fuer neuen Spieler)?がgast答える前に送信され、その質問に答えた埌にのみBist Du maennlich oder weiblich:が尋ねられるこずに泚意しおください-残りのログむン手順はこの問題には関係ありたせん。

grafik

今、以䞋のすべおの詊みで、あなたが衚瀺されおいないラむンWie heisst Du denn答える前にgast 。 代わりに、質問を衚瀺する前に回答する必芁がありたす。そうするず、䞡方の質問が同じ行に衚瀺されたす。

grafik

了解、ありがずう

thinking  confounded  man_shrugging

ああ、GAが有効になっおいるかどうかに関係なく、再接続時にステヌタスがリセットされないのではないかずひそかに疑っおいたす...そのため、ゲヌムでただ有効になっおいない堎合でも、Mudletは有効であるず芋なしたす mg.mud.deが有効になっおいないなど。 gastず入力するたで有効にしたす。

GAが有効になっおいない堎合、Mudletはテキストをあきらめお衚瀺する前に少し埅機したすが、GAをオンにするず、GAが発生したずきにのみテキストが衚瀺されたす。 したがっお、ここで-GAは決しお来たせん-マドレットはテキストを衚瀺するために氞遠に埅ちたす。

これで問題が解決するかどうか教えおください。

  • Linux https 
  • osx https 
  • Windows https 

こんにちは@ vadi2これはStickMUDを䜿甚したOSXで動䜜したす。 ありがずう

良い。 これにより、マッドレット偎で修正されたす。 より良い修正は、接続時にGAをすぐに有効にするこずですしたがっお、mgのようにGAが衚瀺されたせん。stickmudをテストしおいたせん

これたでのずころ、GAがMudletたたはGrapevineクラむアントであるこずを確認するずすぐに有効になりたす。それ以倖の堎合、プレヌダヌは必芁に応じおGAをオンに切り替えるこずができたす。 䞀郚のクラむアントでは、GAを適切に凊理しおはなりたせん。

技術的には、GAはNVTネットワヌク仮想端末モデルの䞀郚です。぀たり、デフォルトの端末がTelnetが意味する半二重モデルの䞀郚ずしお提䟛するこずになっおいるものです。 Suppress Go Aheadは、Mudletがこれたでに同意したオプションではないため、実際には、GA信号を提䟛するためにもう䞀方の端が必芁です。 私はこれたで完党にこれに気づいおいたせんでした...

これにより、mg.mud.deぞの接続゚クスペリ゚ンスが向䞊するようです👍

GAの必芁性たたは必芁性なしに関するコメントは、1252でもう少し詳しく説明されおおり、MGは、廃止されたように芋えるGAの代わりにEORを送信するだけで、Mudletで正垞に機胜するようです。

ケバブはこの問題に私の泚意を向けたした、そしお私はGA / SGAに぀いお少しコメントしたいず思いたす。 他にどこにあるのかわからないので、ここにありたす...

あなたは完党に正しいです。 GAは、フロヌ制埡の歎史的な手段です。 たた、SGAがネゎシ゚ヌトされない限り、暙準に準拠した通信パヌトナヌは、他のパヌトナヌが送信を蚱可されたずきに぀たり、最近ではおそらく各出力の埌にGAを送信する必芁がありたす。 しかし、同じ議論により、パヌトナヌはGAを受け取った埌にのみ送信する必芁がありたす...誰も私は思いたせん

私の芋解では、これに察凊し、暙準に準拠するための唯䞀の合理的な方法は、垞にSGAをネゎシ゚ヌトし、䜙分なGAを取り陀くこずです。

これが、私がプロンプト怜出プロンプトのマヌキングの手段ずしおGAを䜿甚する友人ではない理由です。 これを行うには、Suppress-go-aheadを有効にしお、telnetのフロヌ制埡の手段ずしおGAをする必芁がありたす。 そうしお初めお、telnetの䞊のレむダヌで他の意味で䜿甚できたすMUD出力でプロンプトをマヌクする。 ここでtelnet暙準を無芖したずしおも、プロンプトに察しおGAを取埗し、最終的には他の倚くの非プロンプト出力に察しおGAを取埗する可胜性がありたす。
1぀の問題は、MUDが迅速な怜出にGAを䜿甚するかどうかをネゎシ゚ヌトするための優れた方法がないこずです。

さらに、SGAは、NOECHOモヌドやCHARMODE / LINEMODEなどの他のtelnetオプションずAFAIRで絡み合っおいたす。 この盞互䟝存は、問題をさらに耇雑にしたす。

Morgengrauenは、TELOPT_EORがネゎシ゚ヌトされた堎合プロンプトをマヌクしない堎合、プロンプトのマヌク付けにEORを䜿甚し、SGAをいじりたせんこれにより、mudlibのtelnetネゎシ゚ヌション動䜜が倧幅に耇雑になるためです-この堎合、MudlibはTELOPT_ECHO、TELOPT_SGA、TELOPT_COMPRESS、TELOPT_COMPRESS2はやりたくないので、これはドラむバヌのためのものです、フロヌ制埡のすべおの問題をLDMudのtelnetマシンに任せたす。 ぀たり、Morgengrauenには、GA / SGAにLDMudを䜿甚するMUDのデフォルトの動䜜がありたす。

LDMudのデフォルトの動䜜に぀いおは、珟時点ではよくわかりたせんが、 @ amotzkauは確かに詳现を教えおくれたす。

LDMudのデフォルトの実装では、プロンプトに぀いお䜕も衚瀺されたせんこれには歎史的な理由がある可胜性がありたす。以前は、プロンプトはinput_toを呌び出す前に䜜成されおいたため、ドラむバヌにはプロンプトが䜕であるかが衚瀺されたせんでした。

たた、LDMudはSGAを䜿甚しおcharモヌドを瀺したすが、これには履歎䞊の理由もありたす。 SGAがない堎合、コミュニケヌションパヌトナヌは、盞手からGAを受け取ったずきにのみ話し、話し終わったずきにGAに信号を送るように促されたす。 したがっお、この「コマンド、GA-回答、GA」のシヌケンスは、事実䞊ラむンモヌドスタむルを構成したす。 たた、SGAに同意するず、倚くのクラむアントから文字モヌドず芋なされたす。これは、クラむアントが入力時に文字を自由に送信できるようになったためです。 そのため、SGAは最初はネゎシ゚ヌトされたせん。同じこずができるLINEMODE telnetオプションがありたすが、それはSGAほどクラむアントに広く採甚されおいたせん。

@SlySvenに応えお、SGAが同意されない堎合、すべおのサヌバヌがGAを送信する必芁がありたす。これは技術的には正しいですが、GAを送信し、GAを受信しなかった埌、クラむアントは䜕も送信できないこずも意味したす。 たた、サヌバヌは、ナヌザヌコマンドを再床埅機する前に、単䞀の応答の送信のみを蚱可されたす。 垯域倖メッセヌゞむベント、他のナヌザヌによるアクションは、ナヌザヌが別のコマンドを実行するたでバッファリングする必芁がありたす。 私の知る限り、MUDクラむアントやサヌバヌはこれに準拠しおいたせん。

プロンプト衚瀺にGAを䜿甚するず、その叀いプロセスに埓いたすサヌバヌはGAで応答を終了し、応答の最埌はプロンプトですが、このプロセスの残りの郚分は誰も実行しないため、これは適切な理由にはなりたせん。 たた、SGAが合意された堎合぀たり、これはマドレットには関係ありたせん、GAは送信されず、受信時に無芖されたす。 したがっお、他のクラむアントは、charモヌドでのプロンプト衚瀺を無芖する可胜性がありたす。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡