GithubHelp home page GithubHelp logo

radj307 / arrcon Goto Github PK

View Code? Open in Web Editor NEW
178.0 5.0 10.0 498 KB

Lightweight Source RCON client that works on Windows, macOS, & Linux.

License: GNU General Public License v3.0

C++ 94.92% CMake 5.08%
rcon rcon-client remote-console rcon-cli cli rcon-commands source-rcon source-rcon-protocol arrcon minecraft command-line project-zomboid ark-survival-evolved steam csgo conan-exiles

arrcon's Introduction

ARRCON Banner

A lightweight cross-platform RCON client compatible with any game using the Source RCON Protocol.

GitHub release (latest by date) Mentioned in Awesome-Selfhosted Downloads

Release Workflow Status

Downloads  |  Wiki  |  Issues

Features

  • Highly configurable
  • Cross-Platform:
    • Windows
    • Linux
    • macOS
  • Works for any game using the Source RCON Protocol
  • Handles large packets without issue
  • Handles multi-packet responses without issue
  • Supports Minecraft Bukkit's colorized text
  • You can set delays in the INI file or directly on the commandline
  • Supports saving a server's connection info so you can connect to it with 1 word
    If you've ever used ssh's config file, this will be very familiar. (albeit with more sensible syntax)
    • This can be done in a text editor or entirely from the commandline
  • Can be used as a one-off from the commandline, or in an interactive console
    • Supports piped input using shell operators.
      For example; echo "help" | ARRCON -S myServer would send the help command to the myServer host
      • Piped commands are sent after any commands explicitly specified on the commandline
  • You can write scripts and manually execute them with the -f/--file options in addition to shell scripts
    • Commands are separated by newlines
    • Commands from script files are sent after any piped commands
    • Line comments can be written using semicolons ; or pound signs '#'
  • Shows an indicator when the server didn't respond to your command

Installation

Get the latest version for your OS from the releases page.
If you're using the Windows or MacOS versions, see the additional information below.

There is no installation process required, simply extract the archive to a location of your choice, then run it using a terminal emulator.
If you want to be able to run ARRCON from any working directory without specifying its location, you must add the location to your environment's PATH variable.

Windows

On newer versions of Windows, you may be required to "unblock" the executable before Windows will let you use it.
This is because the executable isn't signed with a Microsoft-approved signing certificate, which costs upwards of $300/year.
To unblock it, Right-Click on ARRCON.exe in the file explorer and click Properties at the bottom of the right-click menu.

Check the unblock box, then click Apply.

MacOS

If you're running macOS 10.9 or later, you must install gcc via HomeBrew or some other package manager!
If homebrew is installed, you can run this command to install and setup gcc automatically: brew install gcc

This is because Apple no longer includes libstdc++ by default as of macOS 10.9 (See #11), which is required for ARRCON to run.

Building from Source

See here for a brief guide on building ARRCON from source.

Usage

ARRCON is a CLI (Command-Line Interface) program, which means you need to run it through a terminal.

On Windows, you can use cmd.exe or powershell.exe by R+Clicking on the start menu and selecting "Command Prompt" or "PowerShell".

For more detailed usage instructions, see the Getting Started page on the wiki.

To see a list of commands, use ARRCON -h or ARRCON --help
To see a list of environment variables, their current values, and a description of each, use ARRCON --print-env

Modes

  • Interactive Shell

    Opens an interactive console session. You can send commands and view the responses in real-time.

    • Used by default when there are no command arguments.
    • Connection remains open until you disconnect or kill the process, or if the server closes.
  • One-Shot
    ARRCON Scripting Support
    This mode is designed for scripting, it sends commands directly from the commandline in sequential order before exiting.
    (You can also open an interactive shell at the same time with the -i / --interactive options.)

    Supported input methods:

    • Commandline Parameters
      These are any arguments that are not short/long-opts and not captured by short/long-opts.
    • Shell Scripts
    • Redirected input from STDIN
    • Script Files
      Splits commands by line, and allows comments using a semicolon ; or pound sign #.
      Comments are always considered line comments.
      Use the '-f' or '--file' options to specify a scriptfile to load.

Contributing

If you want to add a new feature, fix a bug, or just improve something that annoys you, feel free to submit pull requests and/or issues.

Feedback & Requests

Feel free to leave feedback on the issues tab!
There are a number of premade templates for the following situations:

Pull Requests

Feel free to submit a pull request if you've added a feature or fixed a bug with the project!
Contributions are always welcomed, I'll review it as soon as I see the notification.

arrcon's People

Contributors

radj307 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

arrcon's Issues

[BUG] Socket Error Code: 10093 Socket Error Message: Uma aplicaþÒo nÒo chamou o WSAStartup ou o WSAStartup falhou.

Just oppened cmd on the arrcon path

Trying to login to localhost port + pass

It gives this error.

From googling it says that

10093 is WSANOTINITIALISED, which means that either:

a socket call is being made before WSAStartup() has been called at all.

a socket call is being made after WSACleanup() has been called as many times as WSAStartup() was called.

So it seems this is a code issue from you and not me.

[BUG] Program locks after RCON response from Team Fortress 2 server

# System Information

  • OS: Windows 10
  • Version: ARRCON v3.3.6
  • Shell: cmd.exe

# Bug Description

After succesfully connecting to Team Fortress 2 server RCON, i can issue commands but program locks after processing the response from the server, so it never returns to the prompt to execute the next command. CTRL-C has no effect.

The command gets executed correctly and the full text respose from the server is displayed but no prompt is shown to enter the next command, connection command is:
ARRCON -H host.name -P 27015 -p rcon_password

Then:

    Authentication Successful.
    Use <Ctrl + C> or type "exit" to quit.
    [email protected]> sv_password
    "sv_password" = "mix" ( def. "" )
     notify
     - Server password for entry into multiplayer games

After that, program becomes unresponsive and only option is to close the window.

# Reproduction Steps

To recreate the problem attempt to send a command in interactive mode to a Team Fortress 2 server with the windows client.

If it does not work with team fortress probably won't work either with any other valve source game as it behaves exactly the same.

If you need a server to test i can (privately) share my server rcon data.

(I hope this is not me not using the program correctly).

[QUESTION] Does not work on centos 7.6

# Question

Operate system: CentOS 7.6
Version of ARRCON: 3.3.5

Can not get it work on CentOS 7.6. Is there any solution to this?

[mk@VM-20-17-centos scripts]$ ./ARRCON -h
./ARRCON: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by ./ARRCON)
./ARRCON: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by ./ARRCON)
./ARRCON: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./ARRCON)
./ARRCON: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by ./ARRCON)

[QUESTION] linux installation

# Question

Sorry but i am a young linux user so i don't knwo how to install this file on my server or setup your programme so can you help me or create an installation file ?

[BUG] ARRCON shows previous response for current command

# System Information

  • OS: endeavourOS
  • Version: Linux 6.2.9-arch1-1 #1 SMP PREEMPT_DYNAMIC Thu, 30 Mar 2023 14:51:14 +0000 x86_64 GNU/Linux
  • Shell (Windows-Only):

Using ARRCON 3.3.5 (latest release).

# Bug Description

Upon successful authentication (either manually or using a saved session, when I type a command, I get [no response]. The second command I type, regardless of what it is (even if it's an invalid command), displays the results of the first command I typed. The third command will display the results of the second. And so on. Here's an example:

Authentication Successful.
Use <Ctrl + C> or type "exit" to quit.
RCON@...> players
[no response]
RCON@...> who
Players connected (0): 
RCON@...> players
Unknown command who
RCON@...> players
Players connected (0): 
RCON@...> ^C

The server I'm connecting to is a Project Zomboid server, running in docker. Other rcon clients I have tried do not have this problem.

# Reproduction Steps

Connect to a Project Zomboid server (you can relatively easy set one up using one of the docker containers available; I'm using https://github.com/PepeCitron/projectzomboid-server)
Try a command
Try an invalid command
Try a command

[BUG] Does not support Cyrillic

# System Information

  • OS: Windows Server 2022 / Windows 10 (I think Any windows)
  • Version: ARRCON v3.3.7
  • Shell (Windows-Only): PowerShell/cmd

# Bug Description

1)ARRCON Hangs on exetucing "showplayers" if Palworld`s dedicated-server have players with non-latin characters in nicknames.
2)ARRCON Hangs on executing "broadcast" command if broadcast message have cyrilic symbols.
P.S. "CHCP 65001" (or 1251 for rus, or any other is not helping)

# Reproduction Steps

  1. Connect to dedicated server.
    2b) Type something like "broadcast Привет (hi)."
    2a) Type "showplayers" (works when players have RU/UA/KZ characters in names)
  2. Get hang. (Even Ctrl+C not helping sometimes)

P.S. I sent you email with host/port/pass for testing.

[BUG] dyld[12869]: Symbol not found

# System Information

  • OS: MacOS Ventura 13.0.1 (22A400)
  • Version: 3.3.5
  • Shell (Windows-Only): N/A

# Bug Description

Expectation:
Application to run

Occured:
Symbol not found error

Terminal Output:
https://app.warp.dev/block/gWnBoFiwufKHpgeHIxsPOB

# Reproduction Steps

Download latest release on MacOS (M1 Max)
Unzip and run executable
Oberseve Error

I feel this error is likely caused by the new Apple M1 Arm64 architecture.

[BUG] Missing Libraries

# Question

  • Operate system: Sonoma 14.3
  • Version of ARRCON: 3.3.7

i tried to execute ARRCON on my M2 mac mini but i get this message:

Moi@Mac-mini-de-Moi % ./ARRCON
dyld[1272]: Library not loaded: /usr/local/opt/gcc@12/lib/gcc/12/libgcc_s.1.1.dylib
Referenced from: <4A16C3B3-9F9B-316B-8C2F-28ED9C64E5E7> /Users/yinwoo/SRV/ARRCON
Reason: tried: '/usr/local/opt/gcc@12/lib/gcc/12/libgcc_s.1.1.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/opt/gcc@12/lib/gcc/12/libgcc_s.1.1.dylib' (no such file), '/usr/local/opt/gcc@12/lib/gcc/12/libgcc_s.1.1.dylib' (no such file), '/usr/local/lib/libgcc_s.1.1.dylib' (no such file), '/usr/lib/libgcc_s.1.1.dylib' (no such file, not in dyld cache)
zsh: abort ./ARRCON

it's my first time having a mac and i'm a bit lost, may i ask for your help?
thank you

macOS 10.9 and newer require `libstdc++` to be installed

Summary

If you're using macOS 10.9 or later, you must install gcc via HomeBrew or some other package manager.
brew install gcc

Explanation

Apple no longer includes GCC's libstdc++ in new releases of macOS as of version 10.9, when it was replaced by Apple clang's libc++.

This is a problem because ARRCON is dependent on the libstdc++ standard library, and as such it is not compatible with libc++.

In order to install libstdc++, the gcc package (GNU Compiler Collection) must be installed by users via HomeBrew or some other package manager.

Conan Exiles request

Support Request

Which Game/Application are you requesting support for?

Conan Exiles

What is unique to this title that prevents ARRCON from working with it?

Right now ARRCON gets error "Incorrect Password!" but it`s 100% not true.
image

[BUG] Korean text isn't supported

# System Information

  • OS: ubuntu
  • Version: 22.04
  • Shell (Windows-Only): bin sh

# Bug Description

When using rcon in palworld, korean is not displayed, and rcon is turned off when words containing korean are input or output.

# Reproduction Steps

[BUG] Palworld commands only return "empty string" with ARRCON, rcon-cli however works

# System Information

  • OS: Windows Server 2022
  • Version: 21H2
  • Shell (Windows-Only): CMD and PowerShell

# Bug Description

Issuing a command via ARRCON to my Palworld Server always returns "empty string" no matter what I try, however things like broadcast still get sent to the server and the message appears to players. The empty responses break scripts like these: https://github.com/shupershuff/PalworldServerTools
image
I've then tried "rcon-cli" which works just fine and returns all responses. Another additional note here is that rcon-cli doesn't seem to have the timeout issue which was mentioned in #25 and stays connected, this might be related in some form.
image

# Reproduction Steps

No specific ones as I'm just launching ARRCON, connecting to the server and trying commands.
A note however: The Pre-Release version connects just fine to Palworld RCON, the stable one doesn't and runs into a timeout.

Ubuntu 22.04 installation step [DOC]

# Documentation Request

  • What is the documentation for?

a guide on how to install ARRCON on Ubuntu 22.04 and run it with palworld game server

  • Is there existing documentation?
No
  • What changes would you want to see?
  • the command list
  • how to use the command, if rcon have it already where can we read the list of the commmand, or just use the same command in game?

[NEW] Add command completion support

# New Feature Request

  • Is this feature related to an existing bug report?
    No

  • What does this feature do?
    command completion

  • Are there alternative solutions that already exist?
    see below

  • Description
    I tried to use TAB to complete the command, but it displays the tab characters as is. I am not sure if the rcon protocol can support this, but I found a Linux package for rcon-completion.
    I have tried ARRCON briefly and it has performed well so far. If the command completion feature is supported by the rcon protocol, will you consider adding it to the subsequent development plan?

[BUG] write-ini fails when ~/.config/ARRCON directory doesn't exist

# System Information

  • OS: Linux - Debian 11
  • Version: 3.2.14
  • Shell: bash

# Bug Description

The program does not create the ~/.config/ARRCON directory when calling write-ini.
Since this directory never exists by default, the program should create any parent directories before attempting to write the config file.

# Reproduction Steps

  1. Make sure the ~/.config/ARRCON directory doesn't exist
  2. Use the ARRCON --write-ini command

[BUG] Connection lost

# System Information

OS: Windows
Version: 3.3.7
Shell: Command Prompt withing Windows Terminal (Windows 11)

# Bug Description

I can connect to my server and run a command, then when I run a command again, I get disconnected with process exit code 1.

command:  save
error: [FATAL]   Socket Error:  Connection Lost!
        Function Name:         net::recv_packet()
        Socket Error Code:     0
        Socket Error Message:  The operation completed successfully.


[process exited with code 1 (0x00000001)]

# Reproduction Steps

Connect to server.
Send command.
Wait 10 seconds.
Run command that fails out with error above.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.