Godot Server creation within Client - networking

I am trying to make a Mini-Game Library with some multiplayer games. I would like to do it so everyone can just create a lobby which runs on their PC and other people can connect to it.
I am really unsure on how to approach it because I'm not experienced with Godots High-Level Networking and everything else network related I did was in Node.js with a public server always running and handeling all the connections.
I would just like some tips on how to start setting something like this up.
Thanks in advance ^^

Checkout the example(s) on https://github.com/godotengine/godot-demo-projects of which /networking/multiplayer_bomber fits your needs best I guess

Related

for multiplayer is server needed to connect players to each other

I am trying to understand mechanism of how internet work...i understand dns. But this raise a question that if same is true for multiplayer games as well.
There are two type of multiplayer games that i have seen..Local/Lan and Online.
In online either you connect to a server or one of the people you are with becomes the host.
SO my question is basically can lobby be constructed without needing a server to reffer each player to the pool of players.
If not, than isn't it primitive. Shouldn't there be a way to create unique virtual infinite strings that each client could send request to and tell internet that hey direct all data headed to this address to me too.
The two architectures for multiplayer games that are most common are server based and peer-to-peer. Any code you could run on a server, sure - you could run it on a peer to peer basis as well. Simply, put the server code as the peer "server" code.
So in your lobby example, perhaps you could have the client code seek peer-to-peer-based servers versus normal servers. The seeking is the same as in the traditional client-server architecture... just different machines doing the work.
The point is, the client code and server code YOU WRITE has plenty of flexibility to do what you are asking. It just isn't necessarily the easiest way to do these things, so you may not find that people do what you are describing very often. Big games like WoW have plenty of big server machines.
I mean, versus a normal server architecture you could go for something like:
It boils down to what you mean by "server". If you are asking whether it is necessary that some machine run different code than all the others, in order to produce a multi-player game, my answer to that is no. But then each peer will be likely running some code that has traditional "server" functionality.

How to write a server application?

Just because of curiosity, I'd like to get to know better, how the Internet works.
I have already read quite some articles in Wikipedia, but these are very theoretical. I know, which protocols are used where, and what they are good for (IP, TCP, HTTP). But I have no idea how these are actually implemented in Linux or any other OS.
So, for me to understand these things better, I'd like to write a simple implementation of the Echo-Protocol in C, preferrably for Linux, and from ground up. My client-application should be able to send a message to a given port on any other computer, and my server-application should be able to receive this message, and send it back to the client.
Where do I start best? What should I read to get more information on these topics? Has anyone of you already done something like this, and if so, what did you learn?
In addition, it would be great if someone could tell me a bout a program that shows me the raw Internet-traffic that runs trough my PC. I think this would also help me understanding things a bit better.
Thanks in advance for your advice.
http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=berkley+socket+tutorial
http://beej.us/guide/bgnet/
http://www.tenouk.com/cnlinuxsockettutorials.html
http://www.paulgriffiths.net/program/c/sockets.php
In addition, it would be great if someone could tell me a bout a program that shows me the raw Internet-traffic that runs trough my PC.
Ethereal is pretty great for this.

View available network shares

I would like to list all network shares but have no idea where to even begin my search, I assume that it has something to do with Samba etc., but really some guidance would be very useful.
I will be using Adobe AIR 2.5 - so I assume I have access to that sort of information, though I will be using the PlayBook from BlackBerry to access the network which has a full AIR implementation.
Thanks!
Network protocols like these are kind of out of the scope of Air. You could try to look into the Socket class and try to implement your own Network discovery protocol, but it would be extremely difficult to achieve the same kind of functionality as smb.

testing mobile on local network

I have run into a difficult situation.
I do not want to do my development based on an emulator, so I want to be able to have my phone (Android), to connect to my local PC to make sure what I am developing comes out the way I want it to.
Issue #1 - I need to be able to connect to my network, not internet, I can't have my PC internet facing, this limits me from opening my PC to the internet.
Issue #2 - No WiFi allowed at my work, security issues.
Issue #3 - I can't publish this to a internet facing site, since the procedure to get it to one, take a few days each publish and will put my development to a crawl.
What I'm looking for, is a way to get my phone to connect to my local PC, maybe via USB/Bluetooth but have access to my local IIS, does anyone have any idea how to accomplish this?
Any hack you use is going to take your environment away from the "reality" you seek.
I would really encourage you to ask your employer to give you the proper means to do your duties. For instance:
Getting you a cheap VPS on the Internet you can push updates to yourself
Setting up an encrypted AP separated from the rest of the company network.
Those two options are extremely cheap and would let you do what you need.
Can't you just use an Android emulator?
This is a generic problem that most mobile developers face, especially when there are big server interactions and I am afraid, in this case, there are no perfect answers. There are only workarounds.
I can see that you have tried most of the workarounds. I will suggest one more.
If your plan is to test client side code / UI, then mock up your server on any cloud based server ( eg : google app engine / amazon ec2) and get you device to access server code over the cloud.
Let me know if this approach works.

Connecting to VPN through a custom client

OK, here goes:
I have a CentOS server set up to accept PPTP connections and tunnel the users traffic through my server.
I am sharing this with my friends and family, and everytime they want to connect they have to go into control panel, and connect to the network manually. To set up the network, they go through a wizzard that Windows has to set up a new VPN connection for them, and they put in the IP address, username and password.
I wanted to make a really simple client for them to use. When it's first installed and they click "Connect", the program must make the new network (like they were going through the wizard), and every time after that just swap over to use the VPN network. If they click "Disconnect", it will go back to using their regular LAN network.
I would ideally like to code this in .NET, as that is where I have a lot of experience, but I have no idea where to start.
Could anyone point me in the right direction? Maybe some code samples?
Help would be greatly appreciated, thanks. =]
Ah, much easier to understand - thanks for the clarification!
At the risk of sounding like I'm an OpenVPN fanatic, look at openvpn, particularly the Access Server here. I think you'll find it does exactly what you need.
OpenVPN is open source, so it's 100% code samples and as customizable as you like. (Be careful what you ask for! :-) )
Good luck!

Resources