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. 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")
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.
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...
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_.
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. 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.
Testing phase commenced. Findings so far: Communcations established - loud and clear. One issue in the software's logic found. Beer is cold. P.S.: Bonus points for those who name car in the wallpaper!
ihlades submitted a new resource: ACSRelay - Connect multiple UDP plugins to the server Read more about this resource...
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.
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" />
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
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
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.