| Description: |
Designing a very basic socket server in Java. I will be used for a multi user flash game. I need help with the frame work. I'll say in advance I know very little java, but its similar enough to AS3 that I can read, or figure out already done code. If you bid on this project, you must at the least be very confortable with java and servers. As3 is a plus.
Anyway it needs to listen for connections, and move connections to a thread (this may or many not be the most efficient way of handling a server for 2-3k people)
These initial connections will need to login in flash, so flash will send the command login, and the server should check the DB to validate. If it does, it needs to in one way or another separate and list whos logged into the server.
All data should be logged to a DB, or a daily text or xml file.
Named connected users should be able to interact with each other. IE send messages to, mail to, etc, live chat with.
I would like to also have someway of only sending data to each client that is necessary. To make things faster client side, the client only loads what it can see. So there needs to be a way to send only applicable data to clients. example) an enemy moves his units somewhere on map. If a client besides the one moving them is looking at that spot on the map, they should get a command in flash stating to move things. But if nobody is viewing that spot, a function in java should be processed, DB modified, but no clients contacted.
If you have any questions let me know. Im just looking for a basic frame work, not all of these features may be required initially, but you have enough info to know what kind of server im looking for in the end.
If you have any suggestions on how to do things better than I suggested, include in PM. Bid outside of range if needed, but explain why.
Additional information submitted:
04/11/2008 at 14:00 EDT:
Okay, based on a lot of conversation im having with bidders, what im asking for is a bit different than described. - Thanks for all the guidance.
- I need a framework for a game server that can access a db. Users will connect to a persistent game via a socket, and it should be able to hold from 1-500 persons at any given time. But should be scalable to be able to handle up to 2000k at any given time.
-Basic requirements: *Ability for users to connect via socket, login, server validate login and add to a list of connected users. *Ability to make sure if its threaded, threads cant interfere with one another. Although many have suggested NIO. *Ability for clients to be able to interact with one another be it by chat, or sending commands to server that will affect other players (by modifying db). *Admin commands to disconnect ban etc users. *Session logging, I want to know when users are logged in the most during the day and week, and to get a basic overview of functions they ran when logged in. How long they stayed in etc.
Adv Preferred Requirements: *Ability for the server to send only relevant to clients. Meaning that client doesn't need to receive data that doesn't directly affect him, or he isn't close enough to see. (players will be on a map, so if his (x,y) coordinates are close enough, he needs to receive data. IE) If another client moves a unit, all those near that (x,y) need to get data showing the move. *Ability for the server to run functions on the DB at specific times of day. IE) Add money to clients game account. **Ability (if possible) for the server to run attack commands. IE) If a player moves units across map, and while they are walking there, see an enemy, the server will make them auto attack the enemy, even though the client is logged out of the game.
If you need to readjust your bid pm me. If you need to remove your bid because this is outside your scope of knowledge please do so.
NOTE: CLIENT IS FASH 9. CLIENT LANGUAGE IS AS3 (adds a zero byte and n, server must add zero byte). Protocol is flash can be anything from bytes, strings, xml etc, its up to you.
|