hmm after my investigations, (for p2p gaming without port forwarding requirement necessary on router side. p2p as in webrtc's port forwarding lacking method)
I decided to follow nat punch alike methods but self developed ->
i thinkm what i would do is ->
e..g. game server initiates server socket.
then in that node, there would be an additional component which discovers e.g. server setup on 7777 alike unreal port. then ->
that additional process wlould setup ice peer discovery stuff to register to an interim server (maybe peerjs alike) then the client side at the saame time woouold also connect there right with such process and then after client tries to connect to from unreal side , the exe would do packet data filtering/parsing to transfer it from webrtc data connection and then hmm when server side additional such process receives this data would remodify its package/data and send to server in udp protocol..
hmm such thingy would require reading details of udp since we would do edit package frames to do nat punch through with webrtc middle layer.
but deficiencies of such approach would have been -> needs an interim server for webrtc
and udp is one fastest protocol around, so changing udp with interim webrtc data channel where there is constant translation at both sides is not the most efficient thing to do. i mean many folds reducing udp speed.
hmm other alternate approach could be hmm adding an online system plugin (writing the unreal's server side logic ) with changing it with web rtc data channel logic instead. that would have been better approach.
hmm also there were some new http method which has a data channel. (which then wouldnt be caused port forwarding requirement at router side) but thats http layer protocol type.
so 3 alternate ideas on how to turn game multiplayer without requring currently infeasible type frameworks. hmm. so i think for whacky but fast agile method, might try out the first method (webrtc interim layer and translations udp frame coding at ends of webrtc interim layer)
hmm not even requring tht either. something alike ->
hmm server side unreal process (lets call it A) / some process which constantly listens for server opens on 7777 (which would open webrtc peere connection candidacy)(lets call it B) / then some process which would emulate the client connected but right on server node (lets call it C). this would emulate connected client to server on same node of server. and then hmm this C would be connected to of course (and initiated/spawned by ) B.
Then on client side we have client side unreal process (lets call it D) / then the B process again but this time registers candidacy for being client / then a pseudo server process E which would be a 7777 node on client side and would deliver what client sends (connect etc to B side on this node to be sent to remote peer)
so via this, we would be able to use STUN/relay servers and also need to provide a basic session info of client/server server.
hmm i liked this solution but i dont know if it would worked fast or stable enough with all the udp protocol requirements /behaviour.
i mean webrtc is also for udp side things. but in multiplayer its not media but rather very fast udp info packages updates and this solution creates a lot lag to that. but still, it would have worked.
since i investigated the methods how this port forwarding requirement could be fixed. either a vpn and again frame decodng encoding solutions are required overall.
since webrtc provides no port forwaring requirements by default, it seems a nice candidate.
but again better would have been writing the plugin system there of online system with web rtc imho or http such new data transfer enabler method(which again wouldnt be interrupted with port forwarding requirements but http is also very slow compared to udp lets not forget that people had not even used tcp. but again considering the intricacies of this topic otherwise that also would have been an alternate solution of how to accomplish p2p game play without requireing port forwarding config on router). but i am too lazy right now to follow this more efficient methods. i would rather intiially try out this whacky method.
Yorumlar
Yorum Gönder