Announcement

Collapse
No announcement yet.

Master Server with Unreal Engine 4 Plugin

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • replied
    any plans to update to 4.25?

    Leave a comment:


  • replied
    I've just updated the Github with the Online Subsystem version of this plugin. Enjoy!

    Leave a comment:


  • replied
    Originally posted by RyroNZ View Post
    I will release on the market place in the coming months.
    Thank you for the update on this. Will you be maintaining the github or asking for a price point on the market?

    Leave a comment:


  • replied
    I have finally made this into a Online Subsystem that works with the Create/Join/Find session nodes. I will release on the market place in the coming months.
    It now also has support for custom key/value pairs to pass data to around as needed (map name, game mode etc) and can verify that the server is accessible from the Internet so no unjoinable servers will show up in the server list.
    https://puu.sh/EkmSl/d85c851ec2.mp4
    Last edited by RyroNZ; 12-17-2019, 12:35 AM.

    Leave a comment:


  • replied
    Working on using this in my current project, which requires multiple servers (the usual login/channel/world type of system but theres going to be multiple worlds).

    Using 4.20.3, had to forcibly type out the port in SetURL for EHttpResponse::HRT_PingServer as sanitize float would literally return a float as a string (with trailing decimal). For now I guess it is better than attempting to trim the .0 from the port but will end up having to store the main port at some point.

    Wondering how most of this connects together, I assume its just that the game mode is representative of that webserver slot and then when someone connects to it they are actually on that server instance instead of the master server? I have tried to direct connect (ClientTravel("127.0.0.1:2000") as an example) but it either did nothing or just brought me back to the same map.

    I am a little concerned that this needs to be in a game instance, since that exists per client instance and server instance but theres no way to determine who is who making the security of making the server non-existent.
    How viable is it to keep it like that? if registering the same port and IP simply "refreshes" the server then that should be alright.
    Last edited by Tyndareus; 11-20-2018, 06:40 AM.

    Leave a comment:


  • replied
    Can anyone give me an advice about connecting to created server? Because I've created server (I think successfully) and then can't find and connect to it(

    Leave a comment:


  • replied
    I hope to use this in mobile platform. do you have any plan?

    Leave a comment:


  • replied
    ----------------------------------------
    Exception happened during processing of request from ('127.0.0.1', 56349)
    Traceback (most recent call last):
    File "C:\Users\psych\AppData\Local\Programs\Python\Python35-32\lib\socketserver.py", line 313, in _handle_request_noblock
    self.process_request(request, client_address)
    File "C:\Users\psych\AppData\Local\Programs\Python\Python35-32\lib\socketserver.py", line 341, in process_request
    self.finish_request(request, client_address)
    File "C:\Users\psych\AppData\Local\Programs\Python\Python35-32\lib\socketserver.py", line 354, in finish_request
    self.RequestHandlerClass(request, client_address, self)
    File "MasterServer.py", line 116, in __init__
    super().__init__(request, client_address, server)
    File "C:\Users\psych\AppData\Local\Programs\Python\Python35-32\lib\socketserver.py", line 681, in __init__
    self.handle()
    File "C:\Users\psych\AppData\Local\Programs\Python\Python35-32\lib\http\server.py", line 422, in handle
    self.handle_one_request()
    File "C:\Users\psych\AppData\Local\Programs\Python\Python35-32\lib\http\server.py", line 410, in handle_one_request
    method()
    File "MasterServer.py", line 136, in do_GET
    self.handle_send_serverlist()
    File "MasterServer.py", line 145, in handle_send_serverlist
    self.wfile.write(main_thread.latest_serverlist)
    File "C:\Users\psych\AppData\Local\Programs\Python\Python35-32\lib\socket.py", line 593, in write
    return self._sock.send(b)
    ConnectionAbortedError: [WinError 10053] An established connection was aborted by the software in your host machine
    ----------------------------------------
    ('127.0.0.1', 56349) Sending serverlist to 127.0.0.1:56349
    And in the Unreal Output Log, I can read :
    LogHttp:Warning: 000001D858E07B80: request failed, libcurl error: 0 (No error)
    LogHttp:Warning: 000001D858E07B80: libcurl info message cache 0 (Hostname 127.0.0.1 was found in DNS cache)
    LogHttp:Warning: 000001D858E07B80: libcurl info message cache 1 ( Trying 127.0.0.1...)
    LogHttp:Warning: 000001D858E07B80: libcurl info message cache 2 (Connected to 127.0.0.1 (127.0.0.1) port 8081 (#29))
    LogHttp:Warning: 000001D858E07B80: libcurl info message cache 3 (Closing connection 29)
    I got literarelly the same error. How can I fix this? I even checked for open ports and tried some with corresponding IPs. Still nothing.
    I'd really like to use this plugin, but I can't get the serverlist :/

    Please help me!

    Leave a comment:


  • replied
    Now if only I can find a way to communicate to the server using something Linux compatible so I can build out both windows and Linux dedicated servers.

    Linux being the cheaper route to run a server this is super ideal.

    I imagine the type of communication needed for the server to posts it's active this should be really doable. It's just a http communication no?

    Leave a comment:


  • replied
    Originally posted by Inph1del View Post
    Ahh nevermind figured it out. Google compute i forgot requires a while separate configure of firewall rules


    Nice! glad you got it sorted

    Leave a comment:


  • replied
    Ahh nevermind figured it out. Google compute i forgot requires a while separate configure of firewall rules

    Leave a comment:


  • replied
    Originally posted by RyroNZ View Post
    Hey Inph1del, you will need to make sure you have port 8082 open on the IP you are retrieving the ping from (changeable in MasterServerFunctions.cpp line 108) and then the ping should return OK Nat punch through may be useful here, but easier to just make it a requirement to have a couple ports open if you want to host a server
    So let me clairify

    8082 open on?

    1. Dedicated server host
    2. Ue4 master server host
    3. Client side firewall?

    Leave a comment:


  • replied
    Hey Inph1del, you will need to make sure you have port 8082 open on the IP you are retrieving the ping from (changeable in MasterServerFunctions.cpp line 108) and then the ping should return OK Nat punch through may be useful here, but easier to just make it a requirement to have a couple ports open if you want to host a server

    Leave a comment:


  • replied
    So I have the plugin working with my dedicated servers Cept for ping.

    It registers and will use the get game mode players to update num of players but the ping update is still giving a -1 default.

    Also I noted it's always returning it didn't receive data and just adds it to the list since I'm using both return success and no data to complete the add to my list.

    Curious if I'm missing something master server side that's causing the no data response.

    I am using Python 3.5 and not 3.4. Don't think that's why however.

    Is it that the up address node isn't being filled out with the actual server ip on the register node when it makes the struct?

    Leave a comment:


  • replied
    Hey I'd think Linux support would be unlikely for the plugin, I'll look into it one day maybe when I have time.

    Leave a comment:

Working...
X