-
-
Notifications
You must be signed in to change notification settings - Fork 55
Linux support #56
Comments
+1 Though already has an issue created by the maintainer at #47 for an x86 version. |
Yes please, a Linux version would be much appreciated. |
I don't see a Linux version being possible, it makes use of |
I tried running TF2 with the After looking within the leaked TF2 source code, it does seem that the code responsible for the |
#58 eliminates the use of -hijack, which could resolve that roadblock to having Linux support. |
The thing is, from what I can tell |
Agreed, TF2 is pretty much the only game i play actively and I play it on Linux. |
Hijack command is being removed and replaced with rcon which is platform agnostic. There is more to be done for linux support but that was the big dependency. |
Hey I looked through the project and I am currently studying how it works. So, I have a question abount RCON. Isn't it only for servers? https://wiki.vg/RCON How can I communicate with my local hl2 with RCON? I've already downloaded rcon client but unfortunately I didn't had success. Answering @aggserp4
You can run in bash by: cd ~/.local/share/Steam/steamapps/common/Team\ Fortress\ 2
export LD_LIBRARY_PATH="$(pwd)"/bin:$LD_LIBRARY_PATH
./hl2_linux -game tf -hijack test I discovered that by taking a look at elif [ "$UNAME" == "Linux" ]; then
# prepend our lib path to LD_LIBRARY_PATH
export LD_LIBRARY_PATH="${GAMEROOT}"/bin:$LD_LIBRARY_PATH
fi But guess what?
This is 100% true, the command simply doesn't exists in Linux. |
@MatMercer you need to provide the -usercon argument on the command line. This is why you need to start TF2 through the tool in the latest version. Also make sure you are listening on the correct ip ( |
Rcon is designed for servers but is not exclusive to it. I'm not sure if this is the same for the linux client but the windows client does accept connections when launched with Note: ip 0.0.0.0 is a meta address that just listens on all available addresses. Can be a concern in some environments. |
@ClusterConsultant is correct about IP. While you should obviously have a firewall set up, TF2BD randomizes the rcon password and port every time tf2 is launched to provide an extra layer of security. If you are just using -usercon by itself, the rcon password defaults to an empty string and the port defaults to 27015. I'm having trouble remembering, but am empty rcon password may mean that nobody can connect. Not sure. |
It worked, thanks for the help, this are the steps for anyone interested: You need to install a command line RCON client. It is available in AUR if you use Arch Linux.
cd ~/.local/share/Steam/steamapps/common/Team\ Fortress\ 2
export LD_LIBRARY_PATH="$(pwd)"/bin:$LD_LIBRARY_PATH
./hl2_linux -game tf -console -nologo -usercon
rcon -H localhost -p 27015 -P pass plugin_print It should output:
|
Now I have another question: When using Is |
It is not. In our case the output is put in a log file and parsed by the application |
It is normal for those to not come back through rcon. Those commands need to be passed to the server in order to get a response, and the pseudocode for rcon looks something like this:
The problem is that
|
see https://developer.valvesoftware.com/wiki/Source_RCON_Protocol#Requests_and_Responses for lots of details |
Thanks so much about the explanation! It makes sense, so a limitation is that we can only use commands that doesn't rely in the external server response. I was concerned that there would be differences on the Linux version that could make outputting game status to a external file impossible. But Tomorrow I want to take a look about some strategies we would need to make to enable Linux compatibility. In my opinion, maybe create a command line MVP executable, without a gui, would be interesting and wouldn't require too much work. Since we already have a "common lib/api" that both Windows/Linux/Wathever versions could use. As said above, the rcon library is multi-platform. The code needs some refactors but not a lot. The logic is actually very separated from the GUI, and that's great. Again, thanks for the fast responses. |
Theoretically it shouldn't be that much work to just have the whole GUI running on linux, since all of the platform specific stuff related to it should be handled by SDL2. The main blockers for linux right now are probably the missing implementations of these functions: https://github.com/PazerOP/tf2_bot_detector/blob/master/tf2_bot_detector/Platform/Platform.h. I just haven't had a chance to look into how to implement them, but they should be fairly straightforward. The only ones that I'm a bit dubious about are:
|
Checking in on any progress being made. Also @PazerOP how do we build for Linux? |
@danhab99 |
No progress has been made since August 5th. Pazer has been busy with non TF2 things for a while. There will be a small announcement made with the release of 1.2 explaining future development priorities which should help explain when the linux version will be coming. |
Correct. See the "Release Themes" section for relevant information. https://github.com/PazerOP/tf2_bot_detector/releases/tag/1.2.0.798 |
I sure hope it will be worth the wait for the Linux update |
When work begins on this there will probably end up being a ton more issues generated since this is a big project. As they are made they will be added to the linux milestone. |
I've been using this in the meantime https://github.com/Googe14/tf2-bot-kicker-gui |
I have made some adjustments to another bot detector, it's very hacky and ugly, but it works just fine :) feel free to contribute :) |
Please! People play TF2 on Linux too :)
The text was updated successfully, but these errors were encountered: