-
Notifications
You must be signed in to change notification settings - Fork 99
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Master server ? #975
Comments
i already programmed something like a central point, but since nobody answered in the forums i stopped working on it. Sadly the forum is currently closed but you can access my work here: http://spaceemotion.zapto.org/ci/ |
That looks really neat but I thought about some kind of "server-browser" ingame with pair-matching (like Portal 2 or so). I think it would be really hard to implement, so it's just a thought. |
well, my system is API friendly so this wouldn't be a problem (server-side). But I also think that this whole project kinda went down, so I think implementing sth. like this would be more effort than success. |
Although, it would potentially encourage more people to play it. Making it super simple to just hop into an online game would be much funner than only being able to play with someone on your network. |
If the wish is there i can code it right into my system, nothing big to do :D Edit: According to my site stats there are still 1k visitors each week. Maybe it won't result in such a fail than i thought :) |
Yeah. It would be nice to start with a simple map-downloading-feature from http://spaceemotion.zapto.org/ci/ and then implementing some kind of master-server-concept |
i will be not at home next week so the site will be down (its my localhost btw) but when i will get back i can start working on the API (list of maps, downloads, etc.) |
Is it possible for you to put the code on GitHub so we can take a look at it etc.? |
that would be possible indeed :D |
Yes, please do! I would love to see what you have created so far. |
okay its up:https://github.com/spaceemotion/CatacombSnatch-Repo for the api: i thought using the REST structure, what do you think about? oh and if you want you could also help me out solving this problem (i wanted to create a map preview using the image lib and the raw xml data...): http://stackoverflow.com/questions/10613996/decompressing-tiled-tmx-file-contents-with-php |
About the master server, i found something that could help |
so this smartfox server is basically just an extension for the server but still can get all the data from the website? or does it have its own way of storing information? |
I'm currently researching and trying to add to the code. this can do everything we need for a lobby master server system. |
Have you maybe already got any results? |
I'm looking into it.. but I best get some help from @Flet |
I took a quick look, @Maescool but not sure what you're looking for. let me know! |
i also took a look at it and installed the server on my own. the thing that i am worried about is the database. how should i access it when i cannot find it? where does SFS saves its data? btw we are onl getting about 10-20 people on the website atm. i think its because the forum has been closed :( |
I did some initial writing and including the client API To test this, you need to locally install smartfoxserver (for now) |
i had my birthday today so lot of family and friends were around but i can make some simple sketches tomorrow. for the extensions: which ones do we need? for the custom protocoll data? |
First of all I notice you guys saw the new branch i added. There is a lot to be done.. a short list, yes i could go more in detail, but i guess this needs to be done in a wikipage or something (easier to update) or i can make new issues with sfs milestone..
this is a lot of work to be done.. cause the gamecalls need to be handled by an extension on the serverside.. Yes we are starting this back up! :D |
To offload the smartfox work a bit, it can make webservice calls to verify login, handle a part of the friends, handle the ranking system.. so the game also can call that service. |
the server side stuff will be easy (the repo i mean) but we need sth like and api auth key and session timeouts. ive never done sth like this so far... |
since the api will be rest based i found a way to authorize: http encrypted aurhentication (http://en.m.wikipedia.org/wiki/Basic_access_authentication) the username will be encrypted thought and the pass will be a sh1 salted encryption. |
Btw, there is also an alternative server: http://www.electrotank.com/es5.html I'll see what you guys think before we commit to for smartfox.. |
I can see a huge advantage in having the master server with user registration and game host lobby and I'll kind of list them out a little bit.
With all of this, this allows us to bring in a new wave of viewers and possible programmers to the project. To think this project has gone this far on just volunteer work is amazing. We need to keep this going. |
before we dive too much into the SFS stuff: @Verexa made a good point when we talked about the master server. About SFS:
So we thought about using StreamSocketServers in PHP (example: http://www.php.net/manual/en/function.stream-socket-server.php - see comment 1 for a ssl login)
So far we have not found any negative points for the PHP solution. What do you guys think? For the stuff that @godleydemon said: |
I'd prefer the PHP solution, although it would probably be alot more work, or are there any libraries supporting the development of a Masterserver? Additionally, I could maybe help a bit with the programming because I've already got some experience in PHP (might need to refresh it a bit). |
well there is some kind of library already in PHP: http://php.net/manual/de/book.stream.php The "friends" function works on my local copy of the repo already, ill upload the changes later. |
It is possible to create this solution using PHP. The only few problems that I've currently come across is that multiple connections will need a bit of work. |
umm, i dont think that you got it quite right. And for the repository: may be sound a bit hard - but i am thinking about a rewrite. the way its now is too complex and not flexible. i am also seeing code igniter as a not-fast framework for this kind of website so it may be a custom site... |
Another alternative would be writing the repo with Rails in Ruby. I don't know if you know ruby, but that would be quite cool too. There's a plugin (gem) which's only purpose is to serve APIs. Here's a good tutorial for it: http://railscasts.com/episodes/348-the-rails-api-gem Maybe you could make a small list of requirements of the API and a can start to work on it in rails. Help is really appreciated if anyone knows rails/ruby. :D But you can use PHP too, this is just an idea. |
I am coding in PHP/JS/CSS and HTML for 5-7 years now. Using Ruby would be a bit of a problem because I would have to learn it first, however I know that ruby is preferred when using APIs. If the PHP system fails (too much traffic, other problems) we can still think about it. |
Just wanted to say that the framework is nearly done :) I will commit the first version when a single website output can be generated :) The framework is only a base though. Once its running stable and got some plugins and helpers I will rewrite the site (you can help too!). edit: basic output works - only models are left edit 2: I finally committed the first parts of the framework: https://github.com/spaceemotion/CodeFire. Please mind that this is only the framework - not the repository code! |
congrats Space! This is looking really good. I'm loving it so far, and I have to say, your coding as always is very remarkable and well organized. Can't wait to see this in the actual game and I see what you mean about how everything is going to be handled. Its actually pretty smart really, can't wait for this to get to a point were we can begin writing the code to display the lobby framework :D |
Had some other things to do the last weeks (a clanserver asked me to help out setting up their gameserver homepage) which took me quite some time, also the achool stuff sucked up my time. |
it really is looking pretty good Space. Can't wait for this to start getting thrown into the main program. XD |
Okay uploaded my changes, its now finally working ^^. |
woo hoo! sounds awesome! lol. I sent you a friend request on gtalk Space. I'm working on some java and could really use some direction XD |
I think I can finally say that the framework is done. It has all what i need to start a fresh new page :) I will start with a fresh new repository including the main website since I want to be it a part of the community system (login, logout). |
I know it's quite late to ask. From what I saw you developed a standard MVC framework... Why again did you have to reinvent the wheel when there are tons of (tested!) other frameworks in any language you like? From an engineering point of view this is not a good decision if you don't have special needs that can't be fulfilled by an existing software.Yours is less tested, less documented an has potentially more security holes. |
First there was the challenge of course, the second thing is the overload. For the existing system: I am a guy that hate sites that are loading slow, if a normal page script takes more than 2 seconds to load its pretty bad coded in my opinion. These to points were the reason why i started my own framework from scratch. The current site load is very low (< 0.002s of a cached site) and has one more thing that i missed: modules. For the documentation: it has an example with all the stuff that it needs, i will write a short documentation if i have some more time. basically it is working like any other framework - i added just a few more things ;) |
Well I think designing our own framework actually isn't a horrid idea. I mean it fits right along with what we've been doing this entire time with catacomb snatch. I mean hell, Notch kind of recreated the wheel with multiplayer functions. Of course they didn't work to extremely well (with the tic problems and all) But he did it for the challenge to see what he could come up with. In a way, that's what we're all doing here. Challenging ourselves to create something extraordinary. I mean look at it like this. Where was catacomb snatch a little under a year ago? Barely finished, missing sprites, a barely there MP system, bug every where as far as the eye could see. Now look at her. It is looking like the game it should have been. We have two more playable characters that were never even planned to be in the game, We have fixed hundreds of bugs, New weapons and animations, New tiles and a map editor! Well you get my point. All we are is a bunch of misfits around the world getting together to work on something we saw worth in that not a whole lot of people decided to stick with. I think we're doing something special and if we're going to do something special, might as well go all the way and create our own MVC framework for the lawls ^.- |
I made a small post about a new Website (-Design): |
I think the integration of user name and registration to the new framework for the server to handle in game names is a pretty much must. This would allow people to register on the website, then use that user name and password in our client so they can play multiplayer games. This will also allow us in the future to implement the much requested after achievement system that everyone and there mother at the beginning was talking about, lol. Will also allow us to create user profiles and possibly in the future custom player skins for MP. I think we can do alot by linking the game to a server on launch with user name and password. Also as a side note I happened to notice this on the issue list |
Yup that registering stuff nails pretty much the wait I first thought about when creating the "repo": A global user profile to log into - once logged in it downloads a temporarly cached user file to get the data (so more than one user can use the same pc with the same game) - achievements and friends ("buddies") can be added and are marked in-game with some kind of noticable tag (a star for example). However I would like to be able to play offline; Either I do not want to register (other than the system Minecraft uses) or I am not connected. Either way the game still collects data about the user - if he decides to register some days later all his saved games wont be lost then. |
That is just the synchronisation part. |
Hey Space how are we coming on the new website design and layout? Would love to see this implemented soon XD |
Already working on it :) Link to my local version: http://spaceemotion.zapto.org/git/Catacomb-Snatch.net/ |
I have to say I'm impressed XD let me know if you need any graphics for it. I'm sure I could whip something up in the next couple of days for you Is this system going to be self installing, IE would I be able to install this onto a webserver and play around with it? lol |
So how is everything going? Is that stuff still in work? When will there be any implementation of the "master server" / Framework stuff? |
Well it looks like according to Space Emotions Github, he hasn't updated the repo in 2 months. Thing kind of died away while we were waiting for it to be done unfortunantly >.o |
The last few months were very hard for me - I am in my last year of school (this month are the final exams), but I worked on the project on my own, without uploading commits to github. Same thing with @Verexa - we skyped a few times. We already decided that we will start working on the project when school stuff is done. |
Unfortunately I haven't had a lot of time to work on it and being unable to access, what I had started of, the server. I'll be trying to start on it again and hopefully something that we can integrate and work on. |
So how is it going? |
The server is in development, as well as the website. |
Thought I'd throw up a message here and ask how its all going Space. Would love to hear a quick update on how everythings going on. |
I've been coding as hell, for my own Minecraft-Server. Turns out to be two weeks now. Man, that's a lot. For the website: it will most likely use the same system as my own minecraft server website (i will just add and remove small things, also change the template), since it's using the same basic layout (community, news system,...). All in all, I am still alive :D |
So, I thought it would be awesome if actually everything would run on some kind of master server which manages the games and acts as a lobby for everyone who wants to play etc.
Sadly i haven't really got in experience in Networked Programming, but what do you think about the idea?
The text was updated successfully, but these errors were encountered: