i need to create a client application that will search for any available servers and then be able to save that server, so the next time the client app is run it will automatically connect to the server that was saved
If you have a server that is known to everyone you could let that server store a list of servers. The servers could then put themselves on that list when they become available and the clients could fetch the list of servers whenever they want.
so i need one server to store the list of all the other servers?
Well you said you wanted to search for available servers. If you have a fixed set of servers you could hard code them in the client but if the list of servers could change dynamically you need the client to be able to find the list of servers from somewhere.
how would the client remember the server that was picked?
You could store the IP, or whatever information that is needed, in a file. If the IP of the servers can change you might want to let each server have it's own ID and store the ID instead. To connect to the server the next time you just fetch the list of servers and connect to the one with the matching ID.