mirror of
https://github.com/onyx-and-iris/q3rcon-ps.git
synced 2026-03-02 21:39:11 +00:00
Compare commits
3 Commits
cb90ad8030
...
eeae1c76b4
| Author | SHA1 | Date | |
|---|---|---|---|
| eeae1c76b4 | |||
| fa02d0c65e | |||
| 9209c705ce |
15
Taskfile.yml
Normal file
15
Taskfile.yml
Normal file
@ -0,0 +1,15 @@
|
||||
version: '3'
|
||||
|
||||
tasks:
|
||||
bump:
|
||||
desc: 'Bump the module version in the .psd1 file. Usage: "task bump -- show" or "task bump -- [patch|minor|major]".'
|
||||
preconditions:
|
||||
- sh: 'pwsh -c "if (Get-Command bump) { exit 0 } else { exit 1 }"'
|
||||
msg: "The 'bump' command is not available. Please install the required tools to use this command."
|
||||
cmds:
|
||||
- |
|
||||
{{if eq .CLI_ARGS "show"}}
|
||||
pwsh -c "bump show -f lib/Q3Rcon.psd1 -p \"ModuleVersion\s*=\s'(\d+\.\d+\.\d+)'\""
|
||||
{{else}}
|
||||
pwsh -c "bump {{.CLI_ARGS}} -w -f lib/Q3Rcon.psd1 -p \"ModuleVersion\s*=\s'(\d+\.\d+\.\d+)'\""
|
||||
{{end}}
|
||||
@ -12,20 +12,15 @@ function Read-HostUntilEmpty {
|
||||
break
|
||||
}
|
||||
|
||||
if ($line -in @('fast_restart', 'map_rotate', 'map_restart')) {
|
||||
$cmd = $line -replace '(?:^|_)(\p{L})', { $_.Groups[1].Value.ToUpper() }
|
||||
$rcon.$cmd()
|
||||
}
|
||||
elseif ($line.StartsWith('map mp_')) {
|
||||
$mapname = $line.Split()[1]
|
||||
$rcon.SetMap($mapname)
|
||||
}
|
||||
else {
|
||||
$rcon.Send($line)
|
||||
}
|
||||
$resp = $rcon.Send($line)
|
||||
Write-Host (Remove-ColourCodes $resp)
|
||||
}
|
||||
}
|
||||
|
||||
function Remove-ColourCodes($str) {
|
||||
return $str -replace '\^[0-9]', ''
|
||||
}
|
||||
|
||||
function Get-ConnFromPSD1 {
|
||||
$configpath = Join-Path $PSScriptRoot 'config.psd1'
|
||||
return Import-PowerShellDataFile -Path $configpath
|
||||
|
||||
@ -75,27 +75,19 @@ function Send-RconCommand() {
|
||||
param($rcon)
|
||||
|
||||
$line = $OTB.Text
|
||||
$line | Write-Debug
|
||||
if ($line -in @('fast_restart', 'map_rotate', 'map_restart')) {
|
||||
$RLbl.Text = ''
|
||||
$cmd = $line -replace '(?:^|_)(\p{L})', { $_.Groups[1].Value.ToUpper() }
|
||||
$rcon.$cmd()
|
||||
}
|
||||
elseif ($line.StartsWith('map mp_')) {
|
||||
$RLbl.Text = ''
|
||||
$mapname = $line.Split()[1]
|
||||
$rcon.SetMap($mapname)
|
||||
}
|
||||
else {
|
||||
$resp = $rcon.Send($line)
|
||||
}
|
||||
Write-Debug "Sending command: $line"
|
||||
$resp = $rcon.Send($line)
|
||||
|
||||
if ($resp -match '^["](?<name>[a-z_]+)["]\sis[:]\s["](?<value>.*?)\^7["]\s') {
|
||||
$RLbl.Text = $Matches.name + ': ' + $Matches.value
|
||||
$RLbl.Text = Remove-ColourCodes "$($Matches.name): $($Matches.value)"
|
||||
}
|
||||
$OTB.Text = ''
|
||||
}
|
||||
|
||||
function Remove-ColourCodes($str) {
|
||||
return $str -replace '\^[0-9]', ''
|
||||
}
|
||||
|
||||
|
||||
function Get-ConnFromPSD1 {
|
||||
$configpath = Join-Path $PSScriptRoot 'config.psd1'
|
||||
|
||||
@ -122,7 +122,7 @@ class Base {
|
||||
try {
|
||||
$bytesReceived = $this._socket.Receive($this._receiveBuffer)
|
||||
if ($bytesReceived -gt 0) {
|
||||
$dataStartIndex = [Math]::Min($headerLength, $bytesReceived)
|
||||
$dataStartIndex = [Math]::Min($headerLength - 1, $bytesReceived)
|
||||
$responseText = [System.Text.Encoding]::ASCII.GetString($this._receiveBuffer, $dataStartIndex, $bytesReceived - $dataStartIndex)
|
||||
$responseData.Append($responseText) | Out-Null
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user