• Dear visitors,

    The email issue has been finally solved.
    Thank you for your patience and happy browsing.

    Team ACM.
Resource icon

RELEASED-wip ACSRelay 1.0.1

No permission to download

ihlades

Well-Known Member
Staff member
Where/how would those who know what they're doing override it if not in the .ini file? Or do you mean people who compile it themselves?
I think he meant to remove it from the default settings.ini, but still have it working as it is now. So if it's found in the settings.ini, it will override the default 127.0.0.1 address. Also, many (if not all) of the things you can set in the INI file, you can configure via command line parameters.

Great!
Maybe, as a little addition: remove the explicit ADDR. Same story as above, no need to offer the idea of running the plugins somewhere else. Use 127.0.0.1 as default and have it overridable by people who know what they are doing.
Actually the software does work like that. If the ADDR key is not found in the configuration file, it simply defaults to 127.0.0.1. So yes, it's a matter of simply modifying the default settings.ini.
 

Zeno-

New Member
Actually the software does work like that. If the ADDR key is not found in the configuration file, it simply defaults to 127.0.0.1. So yes, it's a matter of simply modifying the default settings.ini.
Yep, exactly. So maybe the "issue" is that the documentation is not clear enough yet that when a key is not found there is a default value assigned (in this case "127.0.0.1")
 

ihlades

Well-Known Member
Staff member
Hmmmm. Documentation was improvised in one rainy afternoon, it's certainly not complete or final. But the topic was about: do we expose the possibility to have remote plugins and/or chain multiple ACSRelays? If we conclude that it's better to have these as undocumented features, well then... they're going to be missing from the documentation and default configuration file.
 

Zeno-

New Member
Hmmmm. Documentation was improvised in one rainy afternoon, it's certainly not complete or final. But the topic was about: do we expose the possibility to have remote plugins and/or chain multiple ACSRelays? If we conclude that it's better to have these as undocumented features, well then... they're going to be missing from the documentation and default configuration file.
Hmm, ok. Well I am the "more options is better" type of person, so you can guess what I'd argue for :)
 

ihlades

Well-Known Member
Staff member
I'm sure @Minolin could have a better say than me, for the simple reason that he interacts way more with server admins. He knows them better; if the majority are simple "I just want it to work!" kind of guys, shipping a functional default configuration, which does not expose possible security problems might be a good idea.

In my opinion, the best solution would be to have these features disabled and missing from the configuration file by default, but have them documented in the README file (maybe with warnings regarding security?). If people have access to your server in order to change the configuration, you have bigger problems than ACSRelay...
 

ihlades

Well-Known Member
Staff member
This is what I'm considering having as a default configuration file. I can see only one downside: if the user doesn't have/want MinoRating or sTracker he will wonder "Why the f**k are those listed in settings.ini? I don't want any of those!".

Code:
# AC Server configuration
[SERVER]
SERVER_PORT=9000 # Server UDP port (same as "UDP_PLUGIN_LOCAL_PORT" in server_cfg.ini)
RELAY_PORT=9001  # ACSRelay UDP port (same as the port number after ':' from the "UDP_PLUGIN_ADDRESS" in server_cfg.ini)

# Sample configuration for using MinoRating and sTracker in parallel:
# MinoRating plugin configuration
[PLUGIN_0]
NAME=MinoRating
RELAY_PORT=9010  # ACSRelay UDP port (same as "ac_server_port" from MinoRating configuration)
PLUGIN_PORT=9011# MinoRating plugin port (same as "plugin_port" from MinoRating configuration)

# sTracker plugin configuration
[PLUGIN_1]
NAME=sTracker
RELAY_PORT=9020  # ACSRelay UDP port (same as "sendPort" from [ACPLUGIN] in sTracker configuration)
PLUGIN_PORT=9021# sTracker UDP port (same as "rcvPort" from [ACPLUGIN] in sTracker configuration)
P.S.: In the spirit of the latest discussion about security regarding remote plugins/relays, I've also renamed the plugin settings to RELAY_PORT and PLUGIN_PORT instead of REMOTE_ and LOCAL_.
 

Minolin

New Member
Hmm, ok. Well I am the "more options is better" type of person, so you can guess what I'd argue for :)
If the option isn't dangerous, we might discuss this (although the average server admin will prefer something that is 100% relevant for him).
If somebody does read the code (and therefore knows about the non-public settings), I'm fine. If somebody comes to the author and asks for "X", he can decide if he just tells him (maybe because it sounds reasonable). I like it this way.

This is what I'm considering having as a default configuration file. I can see only one downside: if the user doesn't have/want MinoRating or sTracker he will wonder "Why the f**k are those listed in settings.ini? I don't want any of those!".
True. Mh difficult. You will need examples to explain the usage with at least 2 different plugins, so using sTracker and MR should be pretty good now (I've never heard a request to setup MR with another plugin apart from sTracker).
Hm hm hm.

But honestly, if somebody isn't able to understand and overwrite a name he will have a difficult time to setup multiple plugins.
 

ihlades

Well-Known Member
Staff member
Testing phase commenced. Findings so far:

  • Communcations established - loud and clear.
  • One issue in the software's logic found.
  • Beer is cold.
work.png


P.S.: Bonus points for those who name car in the wallpaper!
 

ihlades

Well-Known Member
Staff member
ihlades submitted a new resource:

ACSRelay - Connect multiple UDP plugins to the server

Opening post
Hi!

I've started work on a little software tool that allows you to connect more than one UDP plugin to the server. The idea is you will be able to run Minorating, sTracker and other server plugins at the same time. The following diagram should explain the concept:


It works okay even if plugins request car updates at different rates, but the algorithm may not be the best. I'm currently implementing a new...
Read more about this resource...
 

ihlades

Well-Known Member
Staff member
Hi @Coret3x! Communication takes place on all those UDP ports mentioned in README: 9000, 9001, 9010, 9011, 9020 and 9021. If you're running the server, the relay and all the plugins on the same machine you don't need to forward any ports on your router.

If you can give me more details about what you want to achieve, maybe I can explain in better detail what you should configure.
 

Coret3x

New Member
here's my config and i have trouble making it work 100%

Code:
server_cfg:
[SERVER]
UDP_PORT=9458
TCP_PORT=9458
HTTP_PORT=8099
UDP_PLUGIN_LOCAL_PORT=11001
UDP_PLUGIN_ADDRESS=127.0.0.1:12001

acsrelay:
[SERVER]
SERVER_PORT=11001
RELAY_PORT=12001
[PLUGIN_0]
NAME=MinoRating
RELAY_PORT=9010
PLUGIN_PORT=9011
[PLUGIN_1]
NAME=sTracker
RELAY_PORT=9020
PLUGIN_PORT=9021

stracker:
[STRACKER_CONFIG]
ac_server_address = 127.0.0.1
listening_port = 50043
[ACPLUGIN]
proxyPluginLocalPort = -1
proxyPluginPort = -1
rcvPort = 9021
sendPort = 9020

minorating:
<add key="plugin_port" value="9011" />
<add key="ac_server_port" value="9010" />
 

ihlades

Well-Known Member
Staff member
Can you tell me what exactly isn't working? The settings look OK, except some garbage in the [ACPLUGIN] section of the stracker configuration. I bolded it below:

[ACPLUGIN]
proxyPluginLocalPort = -1
server_cfg.ini)
proxyPluginPort = -1
 

Coret3x

New Member
yeah i fixed that just before you posted an answer. it was just an incorrect paste.

minorating says:
No acServer detected, waiting for a NewSession event
Plugin Version 1.3.0.0
Connecting...
... ok, we're good to go.
Connection to server with version: 1.3
[System.Net.Sockets.SocketException: An existing connection was forcibly closed
by the remote host]
at System.Net.Sockets.Socket.ReceiveFrom(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, EndPoint& remoteEP)
at System.Net.Sockets.UdpClient.Receive(IPEndPoint& remoteEP)
at acPlugins4net.helpers.DuplexUDPClient.ReceiveMessages() in C:\dev\plugins\trunk\acplugins4net\acPlugins4nethelpers\DuplexUDPClient.cs:line 117


And stracker says it's connected, but server does not say anything when connecting (no welcome) and no Best laps are displayed. Server name: NOT.NU GT3-Club #1

stracker log snip:
stracker[INFO ]: Log verbosity changed: 2
stracker[STDOUT]: Starting stracker - press ctrl+c for shutdown
stracker[INFO ]: Using database './stracker_CLUB.db3'
stracker[INFO ]: Using plugin configuration rcvport=9021 sendport=9020 proxy=(None/None)
stracker[INFO ]: Plugin listens to port 9021 and sends to port 9020.
stracker[INFO ]: no compression configured
stracker[WARN ]: Server seems to be down (no events received). Continue anyways.
stracker[INFO ]: signin {'car_checksum': '', 'guid': '76561197964896298', 'ac_version': '', 'trackname': '', 'pt_version': '3.1.3', 'car': '', 'track_checksum': ''}
stracker[INFO ]: signin {'car_checksum': '45d1599d448e0b313d827405254f5e24812d6e6a', 'guid': '76561197964896298', 'ac_version': '1.3.4', 'trackname': 'monza', 'pt_version': '3.1.3', 'car': 'ks_nissan_gtr_gt3', 'track_checksum': '5f9e2da83579c82775ce70c68d96d3fb53ed302d'}
stracker[INFO ]: send_lap_info guid 76561197964896298
stracker[WARN ]: Cannot find guid %s in active drivers. Ignoring.
stracker[INFO ]: send_lap_info guid 76561197964896298
stracker[WARN ]: Cannot find guid %s in active drivers. Ignoring.
stracker[INFO ]: send_lap_info guid 76561197964896298
stracker[WARN ]: Cannot find guid %s in active drivers. Ignoring.
stracker[INFO ]: Error with connection socket, finishing connection: [WinError 10054] An existing connection was forcibly closed by the remote host
stracker[INFO ]: Driver with guid 76561197964896298 left the server
 

ihlades

Well-Known Member
Staff member
Is ACSRelay crashing? It seems that the first packets are going through, but the connection suddenly closes.

I'll look into it tonight and I will give you a debug version of ACSRelay to see precisely what is going on.
 
Top