Quake: Difference between revisions

From LANCommander
No edit summary
No edit summary
 
Line 5: Line 5:
{{Game.InfoBox.Developer|id Software}}
{{Game.InfoBox.Developer|id Software}}
|Publishers =
|Publishers =
{{Game.InfoBox.Publisher|GT Interactive}}
{{Game.InfoBox.Publisher|id Software}}{{Game.InfoBox.Publisher|MacSoft Games}}{{Game.InfoBox.Publisher|GT Interactive Software}}{{Game.InfoBox.Publisher|R-Comp Interactive}}{{Game.InfoBox.Publisher|PXL computers}}{{Game.InfoBox.Publisher|Sega}}{{Game.InfoBox.Publisher|Pulse Interactive}}
{{Game.InfoBox.Publisher|id Software}}
{{Game.InfoBox.Publisher|Midway Games}}
{{Game.InfoBox.Publisher|MacSoft Games}}
{{Game.InfoBox.Publisher|R-Comp Interactive}}
{{Game.InfoBox.Publisher|PXL computers}}
{{Game.InfoBox.Publisher|Sega}}
{{Game.InfoBox.Publisher|Pulse Interactive}}
|Release Date =
|Release Date =
{{Game.InfoBox.ReleaseDate|Windows|June 22, 1996}}
{{Game.InfoBox.ReleaseDate|Windows|June 22, 1996}}
|Genres =
|Genres =
{{Game.InfoBox.Genre|Shooter}}
{{Game.InfoBox.Genre|Shooter}}
| PCGamingWiki = Quake
|PCGamingWiki = Quake}}
}}


{{Game.ActionBox
{{Game.ActionBox
|Actions =  
|Actions =  
{{Game.ActionBox.Row|Name = Play|Path = GLQUAKE.exe|Arguments = |WorkingDirectory = |Primary = True}}
{{Game.ActionBox.Row|Name = Play|Path = {InstallDir}\ironwail.exe|Arguments = |WorkingDirectory = |Primary = True}}
{{Game.ActionBox.Row|Name = Play|Path = darkplaces.exe|Arguments = |WorkingDirectory = |Primary = True}}
}}
}}


{{Game.Scripts.Install
|Name = Install Script
|Description =
|RequiresAdmin = False
|Contents =
<syntaxhighlight lang="powershell" line>
$Display = Get-PrimaryDisplay
Write-ReplaceContentInFile -Pattern '^"vid_width" (.+)' -Substitution """vid_width"" ""$($Display.Bounds.Width)""" -FilePath "$InstallDirectory\Id1\config.cfg"
Write-ReplaceContentInFile -Pattern '^"vid_height" (.+)' -Substitution """vid_height"" ""$($Display.Bounds.Height)""" -FilePath "$InstallDirectory\Id1\config.cfg"
Write-ReplaceContentInFile -Pattern '^vid_width (.+)' -Substitution "vid_width ""$($Display.Bounds.Width)""" -FilePath "$InstallDirectory\Id1\ironwail.cfg"
Write-ReplaceContentInFile -Pattern '^vid_height (.+)' -Substitution "vid_height ""$($Display.Bounds.Height)""" -FilePath "$InstallDirectory\Id1\ironwail.cfg"
</syntaxhighlight>
}}
           
{{Game.Scripts.NameChange
{{Game.Scripts.NameChange
|Name = Name Change Script
|Name = Name Change Script
|Description =  
|Description =  
|RequiresAdmin = False
|RequiresAdmin = False
|Contents = <syntaxhighlight lang="powershell" line>
|Contents =
$NewName = $args[0]
<syntaxhighlight lang="powershell" line>
$InstallDir = $PSScriptRoot
Write-ReplaceContentInFile -Pattern '^"_cl_name" (.+)' -Substitution """_cl_name"" ""$NewPlayerAlias""" -FilePath "$InstallDirectory\Id1\config.cfg"
 
Write-ReplaceContentInFile -Pattern '^_cl_name (.+)' -Substitution "_cl_name ""$NewPlayerAlias""" -FilePath "$InstallDirectory\Id1\ironwail.cfg"
function Write-ReplaceContentInFile([string]$Regex, [string]$Replacement, [string]$FilePath)
{
    $content = (Get-Content $FilePath) -replace $Regex, $Replacement
    [IO.File]::WriteAllLines($FilePath, $content)
}
 
Write-ReplaceContentInFile -Regex '^_cl_name (.+)' -Replacement "_cl_name ""$NewName""" -FilePath "$InstallDir\Id1\config.cfg"
</syntaxhighlight>
</syntaxhighlight>
}}
}}
== Quake Enhanced ==
In 2021 a version of Quake known as Quake Enhanced was released by Bethesda. This official port of the game was developed by [[Developer:Nightdive_Studios|Nightdive Studios]] and saw Quake get ported to the Kex Engine. ''Enhanced'' was pretty well received by the community, however it is missing the ability to host/join LAN matches from the UI. The workarounds listed below should work on any release of the port.
=== Connecting to a LAN Server ===
Since there are no menu options available for LAN play, you can either change your launch arguments or use the in-game console to connect to the server.
To connect directly to the server upon launch, use the following command:
<syntaxhighlight lang="batch">
Quake_Shipping_Playfab_GOG_x64.exe +connect <IP Address>
</syntaxhighlight>
To connect using the console, launch the game and while at the main menu hit the tilde (~) key and type:
<syntaxhighlight lang="batch">
connect <IP Address>
</syntaxhighlight>
=== Hosting a Listen Server ===
Listen servers are servers that allow you to host and play from the same machine/copy of the game. To run as a listen server, a few arguments have to be added on launch:
<syntaxhighlight lang="batch">
Quake_Shipping_Playfab_GOG_x64.exe -listen 16 -port 26000 +map dm1
</syntaxhighlight>
This will start a listen server with a maximum of 16 players with the map dm1 on port 26000. A listen server would probably be best served as an Action in LANCommander.
=== Hosting a Dedicated Server ===
While ''Enhanced'' does offer the ability to run as a dedicated server, since the Kex engine is essentially a wrapper around the main game engine, it's not the greatest dedicated server experience. The server will launch in a maximized black window with no logging of any kind. As such, it will not output to stdout, so you will have to use the option "Use Shell Execute" when adding it to [[Servers]]. The syntax is exactly the same as the listen server, only the listen parameter needs to be switched to dedicated:
<syntaxhighlight lang="batch">
Quake_Shipping_Playfab_GOG_x64.exe -dedicated 16 -port 26000 +map dm1
</syntaxhighlight>
=== Horde Mode in LAN ===
In Update 2 of ''Enhanced'' a new PvE Horde mode was added to the game. This can be extremely fun in a LAN environment as you have to fight off endless waves of enemies and adds quite a bit of variety to those already familiar with the game. While the horde mode is implemented as a custom map, there is some functionality implemented into the Kex port that makes this mode only playable using the ''Enhanced'' version of the game.
To run this version in a LAN scenario, it's recommended to host it as a listen server using the following command line arguments:
<syntaxhighlight lang="batch">
Quake_Shipping_Playfab_GOG_x64.exe -listen 16 -port 26000 -game mg1 +g_showintromovie 0 +map mgdm1 +coop 1 +teamplay 1
</syntaxhighlight>
This will launch you directly into the map mgdm1. After all of your players have connected to the server, hit the tilde (~) key to open up the console and type the following command:
<syntaxhighlight lang="batch">
changelevel horde1
</syntaxhighlight>
You will now be in the horde mode. The game will automatically restart the level when everyone has died.

Latest revision as of 21:55, 8 January 2024

Developers
id Software
Publishers
id SoftwareMacSoft GamesGT Interactive SoftwareR-Comp InteractivePXL computersSegaPulse Interactive
Release Date
Windows: June 22, 1996
Genres
Shooter
View at PCGamingWiki

Actions

Name Path Arguments Working Directory Primary
Play {InstallDir}\ironwail.exe True

Install Script

$Display = Get-PrimaryDisplay

Write-ReplaceContentInFile -Pattern '^"vid_width" (.+)' -Substitution """vid_width"" ""$($Display.Bounds.Width)""" -FilePath "$InstallDirectory\Id1\config.cfg"
Write-ReplaceContentInFile -Pattern '^"vid_height" (.+)' -Substitution """vid_height"" ""$($Display.Bounds.Height)""" -FilePath "$InstallDirectory\Id1\config.cfg"
Write-ReplaceContentInFile -Pattern '^vid_width (.+)' -Substitution "vid_width ""$($Display.Bounds.Width)""" -FilePath "$InstallDirectory\Id1\ironwail.cfg"
Write-ReplaceContentInFile -Pattern '^vid_height (.+)' -Substitution "vid_height ""$($Display.Bounds.Height)""" -FilePath "$InstallDirectory\Id1\ironwail.cfg"

Name Change Script

Write-ReplaceContentInFile -Pattern '^"_cl_name" (.+)' -Substitution """_cl_name"" ""$NewPlayerAlias""" -FilePath "$InstallDirectory\Id1\config.cfg"
Write-ReplaceContentInFile -Pattern '^_cl_name (.+)' -Substitution "_cl_name ""$NewPlayerAlias""" -FilePath "$InstallDirectory\Id1\ironwail.cfg"