Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Example Request: RCON handling #3

Closed
Lorenz94B opened this issue Jun 23, 2019 · 18 comments
Closed

Example Request: RCON handling #3

Lorenz94B opened this issue Jun 23, 2019 · 18 comments

Comments

@Lorenz94B
Copy link

Hi code34,
would you be so kind to provide a code example of an extensions able to connect to rcon locally to the server and to get replies from it in game? What I have in mind is something like:
onPlayerConnected EH triggers the extension, providing UID to it, the extension finds that UID from the player list and sends its IP back to the game.

I'm a real newbie in C and extensions seems not a so easy "first step" to do in this coding language. Sorry if bothering you with a so specific request, you seem to be the perfect confident person to ask to!

@FairyTale5571
Copy link

That maybe help https://github.com/multiplay/go-battleye
I made a 50% dll based on Go and will release soon on my github

@code34
Copy link
Owner

code34 commented Jun 24, 2019

Hello Lorenz94B,

i dont know enough RCON to give you a real good answer.

But for your use case, it simpliest to build a little extension that retrieve the ip adress, and send back it through publicvariable internal command.

All depends of what you will do with ip adress. Does those informations will be computed by arma server or other external target ?

@Lorenz94B
Copy link
Author

Hello code34,
I would like to collect it on a database, using iniDBI or extDB3. The query to the database is not a problem "arma wise", the problem is my lack of knowledge in networking! I have no idea on how to retrieve the ip address.

@code34
Copy link
Owner

code34 commented Jun 24, 2019

in golang, it's very simple.

you have example here:
https://gist.github.com/jniltinho/9787946

@code34
Copy link
Owner

code34 commented Jun 24, 2019

but in fact it's not a real good idea to retrieve the ip adress from dll extension. The ip adress will be local to the client network (..)

So the best way is to retrieve it from server effictvely, i don't know if RCON permits to retrieve thoses informations.

@code34
Copy link
Owner

code34 commented Jun 24, 2019

you also have another solution (..)

you can build an extension that will ask to a distant http server to register an ip adress + uid through a web page. The extension will only send the UID to a webpage, and the webpage will register the ip + uid.

@Lorenz94B
Copy link
Author

but in fact it's not a real good idea to retrieve the ip adress from dll extension. The ip adress will be local to the client network (..)

So the best way is to retrieve it from server effictvely, i don't know if RCON permits to retrieve thoses informations.

The outuput of the RCON command "players" lists ip:port guid and nickname, so data is there, just too noob to work this out myself!

you also have another solution (..)

you can build an extension that will ask to a distant http server to register an ip adress + uid through a web page. The extension will only send the UID to a webpage, and the webpage will register the ip + uid.

this seems to complicate the whole thing, to me the best logic solution would be to keep things local to the dedicated server and work as much as possible from there.

Anyway, thank you for the time you're taking to reply!

@Lorenz94B
Copy link
Author

That maybe help https://github.com/multiplay/go-battleye
I made a 50% dll based on Go and will release soon on my github

Thank you FairyTale5571, this still be advanced to me

@code34
Copy link
Owner

code34 commented Jun 24, 2019

yes so the best way is to use a soft like FairyTale5571 client on server side :)

@FairyTale5571 does your client retrive those kind of informations ?

@FairyTale5571
Copy link

So far, it only works on the record.
The problem is that the rсon cannot be accessed selectively; it will return the entire list of players, which can affect performance. In fact, rcon is not very stable and can break the server, but I will try to find a solution

@FairyTale5571
Copy link

Hm, about directly ip, I can add it to my returnHWID.dll in next month, but it only for x64

@Lorenz94B
Copy link
Author

Lorenz94B commented Jun 24, 2019

x64 would be enough to the majority of users I think! I really would like to help.. I think the best way to help not working on the code will be to donate!

@FairyTale5571
Copy link

This is not necessary) Its for free

@FairyTale5571
Copy link

in golang, it's very simple.

you have example here:
https://gist.github.com/jniltinho/9787946

It returned only local ip's

@code34
Copy link
Owner

code34 commented Jun 24, 2019

The problem is that the rсon cannot be accessed selectively; it will return the entire list of players, which can affect performance. In fact, rcon is not very stable and can break the server,database.

is it relative to your code, or rcon go library ?

@FairyTale5571
Copy link

The problem is that the rсon cannot be accessed selectively; it will return the entire list of players, which can affect performance. In fact, rcon is not very stable and can break the server,database.

is it relative to your code, or rcon go library ?

github.com/multiplay/go-battleye

@code34
Copy link
Owner

code34 commented Jun 24, 2019

i mean does it relative to the go code, or the rcon on arma server side ?

@code34
Copy link
Owner

code34 commented Jul 8, 2019

no more activity concerning this post, that is not relative to the armago extension itself. if you need more informations concerning dev, you can contact me on bis forum or email

@code34 code34 closed this as completed Jul 8, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants