RELEASED-wip ACSRelay 1.0.1

Connect multiple UDP plugins to the server

  1. ihlades

    ihlades Well-Known Member Staff Member

    Joined:
    Sep 19, 2014
    Messages:
    326
    Likes Received:
    477
    Location:
    Bucharest, RO
    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.
     
  2. Zeno-

    Zeno- New Member

    Joined:
    Sep 24, 2015
    Messages:
    11
    Likes Received:
    4
    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")
     
  3. ihlades

    ihlades Well-Known Member Staff Member

    Joined:
    Sep 19, 2014
    Messages:
    326
    Likes Received:
    477
    Location:
    Bucharest, RO
    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- likes this.
  4. Zeno-

    Zeno- New Member

    Joined:
    Sep 24, 2015
    Messages:
    11
    Likes Received:
    4
    Hmm, ok. Well I am the "more options is better" type of person, so you can guess what I'd argue for :)
     
  5. ihlades

    ihlades Well-Known Member Staff Member

    Joined:
    Sep 19, 2014
    Messages:
    326
    Likes Received:
    477
    Location:
    Bucharest, RO
    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...
     
    Zeno- likes this.
  6. ihlades

    ihlades Well-Known Member Staff Member

    Joined:
    Sep 19, 2014
    Messages:
    326
    Likes Received:
    477
    Location:
    Bucharest, RO
    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_.
     
  7. Minolin

    Minolin New Member

    Joined:
    Sep 23, 2015
    Messages:
    7
    Likes Received:
    2
    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.
     
    ihlades likes this.
  8. ihlades

    ihlades Well-Known Member Staff Member

    Joined:
    Sep 19, 2014
    Messages:
    326
    Likes Received:
    477
    Location:
    Bucharest, RO
    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!
     
    luchian likes this.
  9. Zeno-

    Zeno- New Member

    Joined:
    Sep 24, 2015
    Messages:
    11
    Likes Received:
    4
    Lexus LFA?
     
  10. ihlades

    ihlades Well-Known Member Staff Member

    Joined:
    Sep 19, 2014
    Messages:
    326
    Likes Received:
    477
    Location:
    Bucharest, RO
    The one and only. :D
     
  11. Zeno-

    Zeno- New Member

    Joined:
    Sep 24, 2015
    Messages:
    11
    Likes Received:
    4
    Still waiting for my extra points... :p :D
     
  12. ihlades

    ihlades Well-Known Member Staff Member

    Joined:
    Sep 19, 2014
    Messages:
    326
    Likes Received:
    477
    Location:
    Bucharest, RO
    I can only offer you a beta, pretty soon. :)
     
  13. ihlades

    ihlades Well-Known Member Staff Member

    Joined:
    Sep 19, 2014
    Messages:
    326
    Likes Received:
    477
    Location:
    Bucharest, RO
    ihlades submitted a new resource:

    ACSRelay - Connect multiple UDP plugins to the server

    Read more about this resource...
     
  14. ihlades

    ihlades Well-Known Member Staff Member

    Joined:
    Sep 19, 2014
    Messages:
    326
    Likes Received:
    477
    Location:
    Bucharest, RO
    luchian likes this.
  15. Coret3x

    Coret3x New Member

    Joined:
    Nov 23, 2015
    Messages:
    7
    Likes Received:
    1
    could you please mark ports that require opening in firewall in your example within readme?
     
  16. ihlades

    ihlades Well-Known Member Staff Member

    Joined:
    Sep 19, 2014
    Messages:
    326
    Likes Received:
    477
    Location:
    Bucharest, RO
    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.
     
  17. Coret3x

    Coret3x New Member

    Joined:
    Nov 23, 2015
    Messages:
    7
    Likes Received:
    1
    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" />
    
    
     
  18. ihlades

    ihlades Well-Known Member Staff Member

    Joined:
    Sep 19, 2014
    Messages:
    326
    Likes Received:
    477
    Location:
    Bucharest, RO
    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
     
  19. Coret3x

    Coret3x New Member

    Joined:
    Nov 23, 2015
    Messages:
    7
    Likes Received:
    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
     
  20. ihlades

    ihlades Well-Known Member Staff Member

    Joined:
    Sep 19, 2014
    Messages:
    326
    Likes Received:
    477
    Location:
    Bucharest, RO
    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.
     
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice