Posted: Tue Dec 22, 2009 9:09 am
This is a guide to installing AllLobby on Linux (tested on Ubuntu Karmic and Gentoo). Only the beta builds of the lobby was tested. I assume you know what you're doing with this stuff to be able to figure out how to use a retail build with this guide.
Install Wine. The version used to write this guide was 1.3.37, but it should work with many previous versions.
Install DirectX 9 and the VC++ Libraries
Get winetricks. It's included in many distributions with Wine, or it might be included in your distributions software repository. You can also download the latest version here.
First, try and see if it's installed. Simply run this (if it doesn't work, it won't hurt to download it):
If you need to dowload it, move to where you want it and run the following:
Replace vcrun2008 with vcrun2005 or vcrun2010, depending on the version your AllLobby was built with. It won't hurt to install all three.
If your binaries were built with a very recent version of the DirectX 9 SDK, winetricks might not have the required version. In that case, you'll have to install DirectX manually.
Configuration File
Make a file configuration file for your lobby/game (they use the same one). If you wish for others to use your lobby you will need to make it publicly available on a website. Here is an example configuration file:
C:\local.cfg:
Where 192.168.10.15 is the address of the hosted lobby. You could easily host it on a website, such as https://dl.dropbox.com/u/550731/local.cfg, and use that in the following registry entries.
Registry entries
Run:
Add these keys and values:
QUOTE [HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Games\Allegiance\1.1]
"CfgFile"="C:\local.cfg"
[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Games\Allegiance\1.0\Server]
"ASGS_ON"=DWORD:0
"ASGS_RANKS_ON"=DWORD:1[/quote]
For some reason the beta lobby looks in 1.0 for ASGS_ON.
Run AllLobby
Extract the "AllLobby" package anywhere you want (hey, it's your organisation, not mine). I don't currently have a download location for AllLobby. If you can build your own, you're in luck! Otherwise, find a copy (and give it to me so I can update this).
Run:
You should get output similar to this:
QUOTE fixme:mixer:ALSA_MixerInit No master control found on HDA ATI HDMI, disabling mixer
Running as an executable.
fixme:ole:CoInitializeSecurity (0x674038,-1,(nil),(nil),4,3,(nil),0,(nil)) - stub!
Allegiance Lobby started
Creating Lobby
Registry String Missing/Invalid: GameInfoServers
Initializing Lobby
fixme:thread:SetThreadIdealProcessor (0xfffffffe): stub
fixme:thread:SetThreadIdealProcessor (0xfffffffe): stub
fixme:thread:SetThreadIdealProcessor (0xfffffffe): stub
fixme:thread:SetThreadIdealProcessor (0xfffffffe): stub
fixme:thread:SetThreadIdealProcessor (0xfffffffe): stub
fixme:thread:SetThreadIdealProcessor (0xfffffffe): stub
fixme:winsock:WSAIoctl unsupported WS_IOCTL cmd (28000002)
fixme:winsock:WSAIoctl unsupported WS_IOCTL cmd (98000007)
fixme:mixer:ALSA_MixerInit No master control found on HDA ATI HDMI, disabling mixer
fixme:thread:SetThreadIdealProcessor (0xfffffffe): stub
fixme:thread:SetThreadIdealProcessor (0xfffffffe): stub
fixme:thread:SetThreadIdealProcessor (0xfffffffe): stub
fixme:thread:SetThreadIdealProcessor (0xfffffffe): stub
fixme:thread:SetThreadIdealProcessor (0xfffffffe): stub
fixme:thread:SetThreadIdealProcessor (0xfffffffe): stub
fixme:winsock:WSAIoctl unsupported WS_IOCTL cmd (28000002)
fixme:winsock:WSAIoctl unsupported WS_IOCTL cmd (98000007)
fixme:winsock:WSAIoctl unsupported WS_IOCTL cmd (28000002)
fixme:winsock:WSAIoctl unsupported WS_IOCTL cmd (98000007)
Running Lobby
---------Press Q to exit---------
Ready for clients/servers.[/quote]
You're done! A lobby is rather useless without any servers on it, though. Windows servers should connect fine to this instance AllLobby until we can get AllSrv running on Linux.
I've not yet tried running AllLobby as a service. Any tips?
EDIT:
You might have to disable IPv6. Follow the second part of this guide to do so.
Install Wine. The version used to write this guide was 1.3.37, but it should work with many previous versions.
Install DirectX 9 and the VC++ Libraries
Get winetricks. It's included in many distributions with Wine, or it might be included in your distributions software repository. You can also download the latest version here.
First, try and see if it's installed. Simply run this (if it doesn't work, it won't hurt to download it):
Code: Select all
winetricks d3dx9 vcrun2008Code: Select all
wget http://winetricks.org/winetricks
chmod +x winetricks
./winetricks d3dx9 vcrun2008If your binaries were built with a very recent version of the DirectX 9 SDK, winetricks might not have the required version. In that case, you'll have to install DirectX manually.
Configuration File
Make a file configuration file for your lobby/game (they use the same one). If you wish for others to use your lobby you will need to make it publicly available on a website. Here is an example configuration file:
C:\local.cfg:
Code: Select all
[Allegiance]
PublicLobby=192.168.10.15
PublicMessageURL=http://fazdev.alleg.net/FAZ/motdR5.mdl
LobbyClientPort=2302
LobbyServerPort=2304
; THIS IS A VALID CONFIG FILERegistry entries
Run:
Code: Select all
wine regeditQUOTE [HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Games\Allegiance\1.1]
"CfgFile"="C:\local.cfg"
[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Games\Allegiance\1.0\Server]
"ASGS_ON"=DWORD:0
"ASGS_RANKS_ON"=DWORD:1[/quote]
For some reason the beta lobby looks in 1.0 for ASGS_ON.
Run AllLobby
Extract the "AllLobby" package anywhere you want (hey, it's your organisation, not mine). I don't currently have a download location for AllLobby. If you can build your own, you're in luck! Otherwise, find a copy (and give it to me so I can update this).
Run:
Code: Select all
wine AllLobby.exe -RegServer
wine AllLobby.exeQUOTE fixme:mixer:ALSA_MixerInit No master control found on HDA ATI HDMI, disabling mixer
Running as an executable.
fixme:ole:CoInitializeSecurity (0x674038,-1,(nil),(nil),4,3,(nil),0,(nil)) - stub!
Allegiance Lobby started
Creating Lobby
Registry String Missing/Invalid: GameInfoServers
Initializing Lobby
fixme:thread:SetThreadIdealProcessor (0xfffffffe): stub
fixme:thread:SetThreadIdealProcessor (0xfffffffe): stub
fixme:thread:SetThreadIdealProcessor (0xfffffffe): stub
fixme:thread:SetThreadIdealProcessor (0xfffffffe): stub
fixme:thread:SetThreadIdealProcessor (0xfffffffe): stub
fixme:thread:SetThreadIdealProcessor (0xfffffffe): stub
fixme:winsock:WSAIoctl unsupported WS_IOCTL cmd (28000002)
fixme:winsock:WSAIoctl unsupported WS_IOCTL cmd (98000007)
fixme:mixer:ALSA_MixerInit No master control found on HDA ATI HDMI, disabling mixer
fixme:thread:SetThreadIdealProcessor (0xfffffffe): stub
fixme:thread:SetThreadIdealProcessor (0xfffffffe): stub
fixme:thread:SetThreadIdealProcessor (0xfffffffe): stub
fixme:thread:SetThreadIdealProcessor (0xfffffffe): stub
fixme:thread:SetThreadIdealProcessor (0xfffffffe): stub
fixme:thread:SetThreadIdealProcessor (0xfffffffe): stub
fixme:winsock:WSAIoctl unsupported WS_IOCTL cmd (28000002)
fixme:winsock:WSAIoctl unsupported WS_IOCTL cmd (98000007)
fixme:winsock:WSAIoctl unsupported WS_IOCTL cmd (28000002)
fixme:winsock:WSAIoctl unsupported WS_IOCTL cmd (98000007)
Running Lobby
---------Press Q to exit---------
Ready for clients/servers.[/quote]
You're done! A lobby is rather useless without any servers on it, though. Windows servers should connect fine to this instance AllLobby until we can get AllSrv running on Linux.
I've not yet tried running AllLobby as a service. Any tips?
EDIT:
You might have to disable IPv6. Follow the second part of this guide to do so.