id SoftwareãLinuxããã³Macã®ãµããŒããåæ¢ããLauncher for QuakeLiveãã¯ãã¹ãã©ãããã©ãŒã ãã¬ãŒã ã¯ãŒã¯ïŒïŒïŒã䜿çšããŠCïŒã§èšè¿°ãããã¹ã¿ã³ãã¢ãã³ã¢ããªã±ãŒã·ã§ã³ã«ããŸããïŒ OpenGL㧠WebããŒãžãã¬ã³ããªã³ã°ããããïŒã å®å®ããæ倧æ°ã®fpsã®ããã«distrãæ£ããããŸããïŒç§ã¯ãŸã 匱ããããªã«ãŒããæã£ãŠããŸãïŒããããã§ãé ããªããŸããã ä»ãç§ã¯ç§ã®èªç±ãªæéã«ç§ã®ãæ°ã«å ¥ãã®ã²ãŒã ããã¬ã€ããããã«ç§ãäœãããããã話ããŸãããã®ã²ãŒã ã¯ã7æ³ã®ãšãã«ã³ã³ãã¥ãŒã¿ãŒã«åº§ã£ãŠå§ããŸããã ç§ã¯ãããŸã§äººã ã«ãã®ãããªåãæ°ãããããšã«ç¡é¢å¿ãªãŸãŸã§ããŸããã ãã³ã®äžã§ãLinuxã§ã®ã²ãŒã ã®ããã©ãŒãã³ã¹ãæ¹åããæ¹æ³ãšãç¬èªã®ã©ã³ãã£ãŒãäœæããæ¹æ³ã«ã€ããŠèª¬æããŸãã
1. OpenGLã®æé©å
ç§ã¯NVIDIAã°ã©ãã£ãã¯ã¹ã«ãŒããæã£ãŠããã®ã§ãããã«ãããã®ã¯ãã¹ãŠNVIDIAçšã§ãã ãããã®èšå®ã¯å ·äœçãªããã©ãŒãã³ã¹ã®åäžããããããšèšããªããã°ãªããŸããã
ãç»é¢ãã»ã¯ã·ã§ã³ã§xorg.confã«è¿œå ããŸãïŒããã§ãªãå Žåã¯ãnvidia-settingsãŠãŒãã£ãªãã£ã§äœæã§ããŸãïŒ
ãªãã·ã§ã³ãNoFlipããTrueã
ãªãã·ã§ã³ãNoRenderExtensionããFalseã
ãªãã·ã§ã³ãNoLogoã
ãªãã·ã§ã³ãAllowGLXWithCompositeããtrueã
ãªãã·ã§ã³ãRenderAccelããtrueã
ãªãã·ã§ã³ãUseEventsããfalseã
ãªãã·ã§ã³ãTripleBufferããfalseã
ãªãã·ã§ã³ "RegistryDwords" "OGL_MaxFramesAllowed = 0x0; EnableBrightnessControl = 1 "
å ·äœçãªèšå®ãè¡ãäž»ãªèšå®ã«ã€ããŠã®ã¿èª¬æããŸã-ããã¯TripleBuffer = falseããã³OGL_MaxFramesAllowed = 0x0ã§ãã 1ã€ç®ã¯ãååã瀺ããšãããããªãã«ãããã¡ãªã³ã°ãç¡å¹ã«ãã2ã€ç®ã¯ããããªã«ãŒãã®ç»åå šäœãã¬ã³ããªã³ã°ãããåŸã«ã¬ã³ããªã³ã°ããå¿ èŠããããã¬ãŒã ã®æ°ãèšå®ããŸãïŒããšãã°ã60ãã«ãã¢ãã¿ãŒã«å¯ŸããŠ60ãã¬ãŒã ãã¬ã³ããªã³ã°ãããŸãïŒã ãããã®èšå®ã®äž»ãªç®çã¯ãInputLagãæžãããçç£æ§ãé«ããããšã§ãã å€ãã®ã¬ãã¥ãŒããã®èšå®ã«ã€ããŠã§ããã ãããèªãããš ãããã³éçºã«ã€ããŠã¯ãããèªãããšããå§ãããŸã ã
ãŸããã²ãŒã ã§ã¯ã åŸåŠçãå®å šã«ãªãã«ãã r_vertexlight = 1ãæå¹ã«ããå¿ èŠããããŸãã
2.ããã»ã¹ã®åªå é äœ
é ãããŸã æ®ã£ãŠããã®ã§ãç§ã¯ããæ·±ãæãå§ããŸããã 誰ãããreniceãä»ããŠããã»ã¹ã®åªå é äœãäžãããšåœ¹ç«ã€ãšèãããããããŸããã ãã®è©Šã¿ãèŠãŠããªããšããã«-æå°ïŒ20ïŒã¯ã€ã³ãµãŒããŒã«ãæ倧åªå 床ã«-å察ã«ããã¹ãŠäžç·ã«ã²ãŒã ãæžãããŸãã ç§ãä¿¡ããŠãããã¯çµæãäžããŸããã
3.èªåã®Launcher.exe
矀ãã¯ããã«æ·±ããªã£ãŠããŸãã ç§ã¯ç°¡åãªçµè«ãäžããŸããps ax | grep quake㧠ãããããawesomium_process.exeãèŠãŸããã ãã®ããã»ã¹ã«ã€ããŠã¯èª¬æããŸããããquakelive.exeãçµã¿èŸŒã¿ã®Webãã©ãŠã¶ãŒçšã«ãããçæãããšããã ãã§ãã åé¡ã¯ïŒç§ãä¿¡ããŠããããã«ïŒawesomiumã¯åžžã«ãã®ã³ã°ã§åäœããããã30ç§ããšã«0.5ç§ã®çµ¶å¯Ÿçãªäœããã®ã©ã°ã絶察ã«ãããããã«å ããŠã²ãŒã ã¯åžžã«FPSãå°ãªãã æåã¯ç§ã¯åœŒã殺ãããšããŸããããæ°ç§åŸã«quakelive.exeãåã³ãããçæããŸãã ããããç§ã¯ãããæ¢ããããšããŸããïŒ kill -stop pid ïŒ-ãããŠãã¹ãŠãæèšä»æãã®ããã«ãªããŸããã ãã¡ããã2ã€ã®ã¢ãã¿ãŒããããã³ã³ãœãŒã«ã¯åžžã«éããŠããŸãããããã¯åžžã«èªåã®æã§ãããè¡ãããšã«ç ©ããããŸããã ç§ã¯ãMacãLinuxããã¬ã€ããŠããããªãå€ãã®äººã ãç¥ã£ãŠãããšããäºå®ã«ã€ããŠèããŸããã
ãããŠããã§ãVinesãªãã§ãã€ãã£ãã®Launcherãäœæããããšã«ããŸããã
èšèªïŒPythonïŒãéžã°ããã®ã¯ãå€ãã®è§£æãšæååãåŠçããå¿ èŠãããããšã«æ°ä»ããããã§ãã ãŸããäžè¬çã«ãããã¯ãã¹ãŠããéãèµ·ãããŸãã
æåã«quakeliveã®ä»çµã¿ãåæããŸãããããµãŒãããŒãã£ã®æ¯æŽãå¿ èŠã§ãïŒãã ããçŽ5ïŒ ã§ãããå»æ¢ãããŸããïŒAPIãå€æŽãããŸããïŒïŒã ç§ã®ãæ°ã«å ¥ãã®Wiresharkãšãé©ãã¹ãããšã«ã FireBugããã®åé¡ãå©ããŠãããŸããã åŸè ã®å©ããåããŠãquakelive.comã§ãã©ãŠã¶ãã©ã®ããã«ãäœããããïŒãã®æ©èœãåé€ãããŸããïŒã調ã¹ãŸããã ããããçµå±ã®ãšãããæ©èœã®80ïŒ ã¯ã¹ã¿ã³ãã¢ãã³ã¯ã©ã€ã¢ã³ãã«é ãããŠãããããã¯exeã§ãïŒ ãã®å ŽåãWiresharkã圹ç«ã¡ãŸããã
æåã«ã netstatãŠãŒãã£ãªãã£ã䜿çšããŠquakelive.exeãäœãããããã¯ã©ã€ã¢ã³ããã¢ã¯ã»ã¹ããŠããIPã調ã¹ãŸããã ãã®åŸããããã®IPãWiresharkã«éã蟌ã¿ããã±ããåæã䜿çšããŠãã»ãšãã©ã®å Žåãããã¯ãµã€ãã®ããã«quakelive.com:80ã«éããªãããšã«æ°ä»ããŸããã ããŠãããã§ã¯ãã¹ãŠãç°¡åã§ã-é£ç¶ããŠãã¹ãŠã泚ææ·±ãåæãããããåœé ããŸãã çŸæç¹ã§ã¯ãã»ãšãã©ãã¹ãŠãåœé ããŠãããquakeliveã¯ã©ã€ã¢ã³ãå šäœãã©ã®ããã«æ©èœããããç¥ã£ãŠããŸãã ãã ããèå³æ·±ãç¹ã1ã€ãããŸãããã£ããã§ãã
ç§ã¯ããã«ãããXMPPã§ãããšæšæž¬ããŸããã ç§ã¯Linuxã®å人ïŒãã®ãã¡ã®1人ã¯ããã¯ã¢ããã²ãŒã ã®1ã€ã®ircãã£ãã«ã®ç®¡çè ã§ãïŒã«å°ããŸããã圌ã¯ãããæ¬åœã«ããããããã©ã®ããã«æ©èœãããããèªããããã®ãªã³ã¯ããäžããŸããïŒèª°ããå°ããªã¢ã«ãŽãªãºã ãæžããç¬èªã®èšèã§ãquakeliveãã£ããã®ã¯ã©ã€ã¢ã³ããäœæããæ¹æ³ïŒã ããã¯ãå®éã«ã¯quakelive.comãã¡ã€ã³ã®éåžžã®xmppã¢ã«ãŠã³ãã§ãã ããããåé¡ããããŸã-ãã£ãããšã²ãŒã ã®äž¡æ¹ãæ¥ç¶ãããŠããŸããå人ãããå ŽæïŒãµãŒããŒïŒããã®ä»ã®ããªãã¯ïŒåç°¿ãå人ãšããŠæåŸ ïŒãªã©ã«é¢ããéç¥-ãã¹ãŠãXMPPã䜿çšãããã¹ãŠã®ããŒã¿ãæå·åãããŸãã Wiresharkã§ã¯è¡šç€ºãããŸããã ç§ã¯ããç°¡åã«è¡åããŸãã-ç§ã¯èªåã®pythonã¯ã©ã€ã¢ã³ããä»ããŠquakelive.com xmppãµãŒããŒã«æ¥ç¶ããç§ã«æ¥ããããã¯ãŒã¯äžã®ãã¹ãŠã®ããŒã¿ãåæããŸããã 次ã«ããæ°ã«å ¥ãã®qutIMãä»ããŠãªãœãŒã¹ã«æ¥ç¶ãããã¹ãŠãæãéãã«æ©èœããããšãããäžåºŠç¢ºèªããŸããã
å°ããªããããã¯ã§ç¶ã
ã©ã³ãã£ãŒã®ç®æšã¯ãã²ãŒã Webãã©ãŠã¶ãŒã§äœ¿çšãããŠããã¯ã©ã€ã¢ã³ãïŒããã³awesomium_process.exeé 延ããã»ã¹ïŒãåé¢ããããšã§ããã åé¡ã¯ãXMPPãµãŒããŒã§èªèšŒã«å¿ ãåæ Œããå¿ èŠããããããã²ãŒã ãªãã§ã²ãŒã ãéå§ããããšïŒããã³ãµãŒããŒã«ã¢ã¯ã»ã¹ããããšïŒãäžå¯èœã ã£ãããšã§ãã ãã®ããã»ã¹ããªããŠããµãŒããŒäžã§ã²ãŒã èªäœãèªèšŒã§ããã®ããé è³ã§çåã«æã£ãã®ã§ãããæ£ããã³ãã³ããšæ°æ¥éã®å©ããåããŠãããéæããŸãã-Webãã©ãŠã¶ãªãã§quakelive.exeãå®è¡ãããµãŒããŒã«ã¢ã¯ã»ã¹ããŠfps awesomium_process.exeã®å Žåã®ããã«ãçå®ã«æ倧ã«ç¶æãããçæ£ã¯ãããŸããã§ããã ãããã®éçºã¯ãç§ã®ã©ã³ãã£ãŒã«ãå«ãŸããŠããŸãã
ãŸãšã
Pythonã§èšè¿°ããããã¹ãŠã®debããŒã¹ã®ãã£ã¹ããªãã¥ãŒã·ã§ã³çšã®ã¢ããªã±ãŒã·ã§ã³ããããå¯èœãªéãæé«ã®ããã©ãŒãã³ã¹ã§ã²ãŒã ãå®è¡ã§ããŸãã
ããã«ãç§ã¯äžçã®ããŸããŸãªå°åã§ããã€ãã®é£çµ¡å ãäœæããŸããããã®ãã¡ã®1人ã¯æåãªQLPrismã®èè ã§ã圌ã¯ä»ã®äººãšåãããã«ç§ã®èªç±æéã«ç§ã®ã¢ããªã±ãŒã·ã§ã³ããã¹ãããŠããŸãã
æåŸã«ãããã°ã©ãã³ã°ã®èãæ¹ããªããã°ïŒèª°ããå©ãåããšãã§ãïŒãå°ãªããšãäœããã®åœ¢ã§å©ããŠããããã¹ãŠã®äººã«æè¬ããŸãã
ã¯ã©ã€ã¢ã³ãã«ã§ããããšïŒ
1.ã²ãŒã ã®èªåæŽæ°ã
2.ãµãŒããŒãžã®åŒã³åºãã§ããã«èµ·åããŸãïŒãªã³ã¯ãæŒããŠEnterããŒãæŒããŸãïŒ
3.ãµãŒããŒãã©ãŠã¶
4.ç¬èªã®ãµãŒããŒã®èµ·åïŒããã¢ã«ãŠã³ããããå ŽåïŒ
ã€ã³ã¹ããŒã«ïŒ
sudo add-apt-repository ppa:broken/ppa sudo apt-get update sudo apt-get install qllauncher
UPDïŒæšæ¥ãsquakeliveã§quakeliveããªãªãŒã¹ãããŸãããããã«ãããSteamãããã¯ãŒã¯ã䜿çšããŠMacãŸãã¯Linuxã§ãã¬ã€ããããšæãä»ã®äººãã¡ãšåã³æãçµã³ä»ããããšãã§ããŸããã ãã€ãã£ãïŒLinuxãŸãã¯Mac OS SteamïŒã§quakeliveãå®è¡ã§ããããã«ããæ¹æ³ã«ã€ããŠã¯ãã§ã«ããã€ãã®ã¢ã€ãã¢ããããŸããããããç 究ããå¿ èŠããããŸãã ãããããè¿ãã人ã ãç§ã«ä¿èšŒããããã«ãå€ãã©ã³ãã£ãŒïŒexeãã¡ã€ã«ã®åœ¢åŒã§ïŒã®ãµããŒãã¯çŽ1幎éäºå®ãããŠããã®ã§ããã¹ãŠããŸã å ã§ãããç§ã®ã©ã³ãã£ãŒã䜿çšã§ããŸã:)
UPD2ïŒ
å°ããªããŒããããïŒ
1.ãã£ãã
2.ãããã¡ã€ã«ã
3.åé
4. qllauncherããçŽæ¥QuakeLiveïŒãŸã ã€ã³ã¹ããŒã«ãããŠããªãå ŽåïŒãã€ã³ã¹ããŒã«ãã
5. REãšãããã«é¢é£ããéåžžã«èå³æ·±ããã®:)
UPD3ïŒ
ç¹°ãè¿ãã«ãªããŸãããqllauncherã®åœåã®ç®æšã¯çç£æ§ã®åäžã§ããã éçºã®ãã®æ®µéã§ã¯ã誰ããååãªæ©èœãæããªãå¯èœæ§ããããWindowsããžQuakeLiveãããŠã³ããŒãããã³ã€ã³ã¹ããŒã«ãããªãå¯èœæ§ããããšããäºå®ã®ããã«èšèšãããŠããªããšããããšã¯æããã§ãã ãã®ç®çã®ããã«ããŸã èªåã§quakelive.comã«ã¢ã¯ã»ã¹ããç»é²ããã€ã³ã¹ããŒã©ãŒãããŠã³ããŒãããŠã1ã€ã®æ¹æ³ã§äžåºŠèµ·åããå¿ èŠããããŸãã ãã®åŸãqllauncherãå®è¡ã§ããŸãã
åç §ïŒ
BitBucket ãããžã§ã¯ããªããžããª