jagehring / laravel-rcon
Source RCON Protocol Service Provider for Laravel
2.0
2022-06-07 13:05 UTC
Requires
- php: ^7.4|^8.0
- illuminate/support: ^5.2|^6|^7|^8|^9
Requires (Dev)
- orchestra/testbench: ^4.0
- phpunit/phpunit: ^8.1
README
This package is developed to provide Laravel Framework service allowing you to work with source RCON protocol. You can read more protocol specification on this page: https://developer.valvesoftware.com/wiki/Source_RCON_Protocol
Installation
- Install composer package using command:
composer require jagehring/laravel-rcon
- Add Service Provider in
config/app.php
:
Adams\Rcon\RconServiceProvider::class,
- Add Facade in
config/app.php
:
'Rcon' => Adams\Rcon\Facades\Facade::class,
- Publish configuration file to your project:
php artisan vendor:publish --provider="Adams\Rcon\RconServiceProvider"
Environment
You can setup environment variables to establish default RCON connection.
RCON_CONNECTION
- default RCON connection name stored inconfig/rcon.php
,RCON_HOST
- RCON server hostname,RCON_PORT
- RCON server listening port,RCON_PASSWORD
- passphrase used to authorize connection, you can usenull
to skip authorization,RCON_TIMEOUT
- RCON server connection timeout.
Testing
To run predefined test set use:
php vendor/bin/phpunit
Usage
Below you have example controller implementation:
<?php namespace App\Http\Controllers; use Rcon; use App\Http\Controllers\Controller; class SimpleRconController extends Controller { /** * Execute status command on default RCON server. * * @return Response */ public function defaultStatus() { $response = Rcon::command('status'); return view('console', compact('response')); } /** * Execute status command on specified RCON connection. * * @return Response */ public function gameServerStatus() { $response = Rcon::connection('game_server') ->command('status'); return view('console', compact('response')); } }