Jump to content


Photo

GameMaker Server


  • Please log in to reply
444 replies to this topic

#1 size43

size43

    GMC Member

  • GMC Member
  • 201 posts
  • Version:GM:Studio

Posted 08 October 2011 - 11:29 AM

Requirements:
-GameMaker 8.0 of 8.1
-Some knowledge of Drag & Drop actions

GameMaker Server?
GameMaker Server is a GameMaker extension which allows you to create online highscores, achievements, statistics, and *of course* mutliplayer games. It contains both GML scripts and D&D actions, you you do not necessarily need to know GML. The server is hosted by me, so you don't need to run anything on your PC 24/7 or forward any ports.

More info can be found on the site. Feel free to ask me if you have any problems :)

The Big Game List Of Games:
-7 Dutch games I am no going to list here (due to language)
-Want your game on this list? Just PM me (If you use anything, no matter whether it's the highscore or the MMO part -- I'll list you)

Download:
GameMaker Server Update +1 (0,3 MB)

Edited by size43, 15 August 2012 - 01:08 PM.

  • 7

#2 haloflooder

haloflooder

    GMC Member

  • GMC Member
  • 35 posts

Posted 20 October 2011 - 03:12 AM

This is a great extension! The examples worked great but when I put it into my project, it doesn't work properly. This is what happens.

Whenever I click the login button. The login code is executed. But when the login code is executed (I tried both D&D and GML) everything in the room just disappears and the player spawns in the top left corner and fall down and die. When I take out the code, that doesn't happen. Also, the "Open the site to register an account" doesn't work, game starts up with an error. Please help me!
  • 0

#3 size43

size43

    GMC Member

  • GMC Member
  • 201 posts
  • Version:GM:Studio

Posted 20 October 2011 - 12:16 PM

Whenever I click the login button. The login code is executed. But when the login code is executed (I tried both D&D and GML) everything in the room just disappears and the player spawns in the top left corner and fall down and die. When I take out the code, that doesn't happen.

The login window does use instance_deactivate_all to pause all other objects, but it should activate them when logged in. When you add instance_activate_all() at the end of your code, does it work?

Also, the "Open the site to register an account" doesn't work, game starts up with an error. Please help me!

Which error? The action does link to an old webpage that doesn't exists anymore, so I fixed it. But that shouldn't give an error.

Also, Update 7 is coming next week:
-Highscores
-A D&D draw other player's healthbar-action
-Option to rename your server
-Opton to add metadata (title, url, description, version) to your game. This isn't used yet, though.

And update 8 will most likely have an auto-update option.
  • 0

#4 haloflooder

haloflooder

    GMC Member

  • GMC Member
  • 35 posts

Posted 20 October 2011 - 02:39 PM


Whenever I click the login button. The login code is executed. But when the login code is executed (I tried both D&D and GML) everything in the room just disappears and the player spawns in the top left corner and fall down and die. When I take out the code, that doesn't happen.

The login window does use instance_deactivate_all to pause all other objects, but it should activate them when logged in. When you add instance_activate_all() at the end of your code, does it work?

Ok, so I added "instance_activate_all()" at the end of the code, the objects in the menu doesn't disappear anymore BUT the player object still spawns in the top left corner and falls down. BTW, the player object is the very first object in the object list.


Also, the "Open the site to register an account" doesn't work, game starts up with an error. Please help me!

Which error? The action does link to an old webpage that doesn't exists anymore, so I fixed it. But that shouldn't give an error.

Game maker says the code "server_open_register_site()" doesn't exist. I even tried to use the D&D but it didn't work so I used "splash_show_web("http://gamemakerserv...tk/register/",0)" for now
  • 0

#5 size43

size43

    GMC Member

  • GMC Member
  • 201 posts
  • Version:GM:Studio

Posted 20 October 2011 - 02:46 PM



Whenever I click the login button. The login code is executed. But when the login code is executed (I tried both D&D and GML) everything in the room just disappears and the player spawns in the top left corner and fall down and die. When I take out the code, that doesn't happen.

The login window does use instance_deactivate_all to pause all other objects, but it should activate them when logged in. When you add instance_activate_all() at the end of your code, does it work?

Ok, so I added "instance_activate_all()" at the end of the code, the objects in the menu doesn't disappear anymore BUT the player object still spawns in the top left corner and falls down. BTW, the player object is the very first object in the object list.

From which object and which event are you calling the login function? Also you shouldn't place any code after the login action, it won't execute :)



Also, the "Open the site to register an account" doesn't work, game starts up with an error. Please help me!

Which error? The action does link to an old webpage that doesn't exists anymore, so I fixed it. But that shouldn't give an error.

Game maker says the code "server_open_register_site()" doesn't exist. I even tried to use the D&D but it didn't work so I used "splash_show_web("http://gamemakerserv...tk/register/",0)" for now

That's my bad, I actually forgot to add it to the list in the Extension Maker :P It will be fixed in update 7.

Edit: And Update 7 will not use this login system anymore. It's way too complex. I am going to replace it with an twitter-like authentication :)

Edited by size43, 20 October 2011 - 02:47 PM.

  • 0

#6 haloflooder

haloflooder

    GMC Member

  • GMC Member
  • 35 posts

Posted 20 October 2011 - 02:51 PM




Whenever I click the login button. The login code is executed. But when the login code is executed (I tried both D&D and GML) everything in the room just disappears and the player spawns in the top left corner and fall down and die. When I take out the code, that doesn't happen.

The login window does use instance_deactivate_all to pause all other objects, but it should activate them when logged in. When you add instance_activate_all() at the end of your code, does it work?

Ok, so I added "instance_activate_all()" at the end of the code, the objects in the menu doesn't disappear anymore BUT the player object still spawns in the top left corner and falls down. BTW, the player object is the very first object in the object list.

From which object and which event are you calling the login function? Also you shouldn't place any code after the login action, it won't execute :)

I'm using the login button. Basically a sprite that says login and when you click it, it asks if you registered before, if you click no then it'll call the splash-website and if you did, the login screen should pop up. I didn't place any code after the login action either.




Also, the "Open the site to register an account" doesn't work, game starts up with an error. Please help me!

Which error? The action does link to an old webpage that doesn't exists anymore, so I fixed it. But that shouldn't give an error.

Game maker says the code "server_open_register_site()" doesn't exist. I even tried to use the D&D but it didn't work so I used "splash_show_web("http://gamemakerserv...tk/register/",0)" for now

That's my bad, I actually forgot to add it to the list in the Extension Maker :P It will be fixed in update 7.

Edit: And Update 7 will not use this login system anymore. It's way too complex. I am going to replace it with an twitter-like authentication :)

Figured. lol
Twitter like auth? Please explain. Sounds interesting. :smile:

Edited by haloflooder, 20 October 2011 - 02:52 PM.

  • 0

#7 size43

size43

    GMC Member

  • GMC Member
  • 201 posts
  • Version:GM:Studio

Posted 20 October 2011 - 03:44 PM


From which object and which event are you calling the login function? Also you shouldn't place any code after the login action, it won't execute :)

I'm using the login button. Basically a sprite that says login and when you click it, it asks if you registered before, if you click no then it'll call the splash-website and if you did, the login screen should pop up. I didn't place any code after the login action either.

It's the same I use in all my games. I don't see whats going wrong :o
You are using a room-goto in user defined event 15, aren't you?


That's my bad, I actually forgot to add it to the list in the Extension Maker :P It will be fixed in update 7.

Edit: And Update 7 will not use this login system anymore. It's way too complex. I am going to replace it with an twitter-like authentication :)

Figured. lol
Twitter like auth? Please explain. Sounds interesting. :smile:

I think it's actually called OAuth: You'll be redirected to an login-webpage, you log in, and you click "allow game to use my account" instead of using a 10-char code. But it's going to be even better in Update 8, but I'm not going to tell anything about that yet (sorry, teaser :P )
  • 0

#8 haloflooder

haloflooder

    GMC Member

  • GMC Member
  • 35 posts

Posted 20 October 2011 - 04:24 PM

It's the same I use in all my games. I don't see whats going wrong :o
You are using a room-goto in user defined event 15, aren't you?

Actually, I didn't know I have to add that. Ok, I added it and the problem still exists and the log in screen doesn't pop up. Can you check my project file? I'll upload the file after i get home.
  • 0

#9 size43

size43

    GMC Member

  • GMC Member
  • 201 posts
  • Version:GM:Studio

Posted 20 October 2011 - 04:30 PM


It's the same I use in all my games. I don't see whats going wrong :o
You are using a room-goto in user defined event 15, aren't you?

Actually, I didn't know I have to add that. Ok, I added it and the problem still exists and the log in screen doesn't pop up.

It should work without, I thought I used it in all my examples, but I didn't :)

Can you check my project file? I'll upload the file after i get home.

Of course I can, just send me an PM :)
  • 0

#10 size43

size43

    GMC Member

  • GMC Member
  • 201 posts
  • Version:GM:Studio

Posted 28 October 2011 - 08:21 AM

Update 7

I've worked very hard this week, to get this done. It's the biggest update ever made, with 8 new D&D actions, 8 bugfixes and 9 new functions.

Release notes / Changelist:

Volledige lijst:
-Developers can rename games
-Option to change your password
-web authentication: No annoying codes anymore
-Online highscores
-Game showcase framework (Coming in update 8)
-View highscores on site
-Online INI's to save the player's progress to his account
-SPC/Dead reconing: No "lag" in games anymore.
-Password reset option

Bugs:
-The login-window freezes for 3 seconds and then asks needless for a code
-Can't chat when having 2 views
-Game asks for code when logging in
-Checking master, local, and global variables doesn't work in Drag & Drop
-Synced instances aren't show when first room has index 0
-You can add yourself to the admin list

New D&D actions:
-D&D player has account
-D&D write ini
-D&D text ini
-D&D delete ini
-D&D draw highcore
-D&D add highscore
-D&D draw name
-D&D draw self


Download (0,37 MB, 2 examples, 1 gex)

Edited by size43, 28 October 2011 - 08:23 AM.

  • 0

#11 klek

klek

    GMC Member

  • GMC Member
  • 14 posts
  • Version:GM:Studio

Posted 03 November 2011 - 04:04 PM

Very good ext, but what about having a local server? I test it out whit the examples and it really lag alot whit people very away from the actually server.

So, my idea is create a server and customize where the client going to find that server.

And what about a UDP conection? I know it actually is TCP, but i dont work good whit game where the connection stream must be high.

Thanks for you work!
  • 0

#12 size43

size43

    GMC Member

  • GMC Member
  • 201 posts
  • Version:GM:Studio

Posted 03 November 2011 - 04:38 PM

Very good ext, but what about having a local server? I test it out whit the examples and it really lag alot whit people very away from the actually server.

So, my idea is create a server and customize where the client going to find that server.

And what about a UDP connection? I know it actually is TCP, but i don't work good whit game where the connection stream must be high.

Thanks for you work!

Thanks for your reaction! The problem with having multiple servers is that the account system is integrated deeply into the server application and the PHP website (Originally the server application had it's own GML-parser to display the web pages, so the accounts were saved with the server application). This makes it very hard to run multiple servers, but still maintain all the accounts, saved highscores and INI's.
I know it would be great to have multiple servers, but it requires a lot of work. Separating the account data and the actual server application still seems to be a good idea since it will improve both website speed and server stability. I may try to do this in the future (which means there will eventually be multiple servers too), but I am not going to promise anything :)

UDP connections seems to be a good idea. I never really considered using something else and I don't know whether it's actually going to work with my current server application, but I am definitely going to try it. (Update 8?) :)

 

My current plan for update 8:
-Friends
-Auto-update
-Notifications ("x requests you as a friend", "friend asks to play game x", "x logged in to game y, click here to play", "play game x now vs player y")
-Game promotion/spotlight on site
-UDP (?)
-1vs1 or 2vs2 multiplayer
  • 0

#13 Dendail

Dendail

    GMC Member

  • GMC Member
  • 268 posts

Posted 05 November 2011 - 02:40 AM


Very good ext, but what about having a local server? I test it out whit the examples and it really lag alot whit people very away from the actually server.

So, my idea is create a server and customize where the client going to find that server.

And what about a UDP connection? I know it actually is TCP, but i don't work good whit game where the connection stream must be high.

Thanks for you work!

Thanks for your reaction! The problem with having multiple servers is that the account system is integrated deeply into the server application and the PHP website (Originally the server application had it's own GML-parser to display the web pages, so the accounts were saved with the server application). This makes it very hard to run multiple servers, but still maintain all the accounts, saved highscores and INI's.
I know it would be great to have multiple servers, but it requires a lot of work. Separating the account data and the actual server application still seems to be a good idea since it will improve both website speed and server stability. I may try to do this in the future (which means there will eventually be multiple servers too), but I am not going to promise anything :)

UDP connections seems to be a good idea. I never really considered using something else and I don't know whether it's actually going to work with my current server application, but I am definitely going to try it. (Update 8?) :)

 

My current plan for update 8:
-Friends
-Auto-update
-Notifications ("x requests you as a friend", "friend asks to play game x", "x logged in to game y, click here to play", "play game x now vs player y")
-Game promotion/spotlight on site
-UDP (?)
-1vs1 or 2vs2 multiplayer


I can't seem to connect. :(
Your examples work perfectly fine but if I try it in my own games I can't get past the log in screen.
Also I was wondering if it is possible to have the first player to log in control controller1 & the 2nd player control controller2?
  • 0

#14 size43

size43

    GMC Member

  • GMC Member
  • 201 posts
  • Version:GM:Studio

Posted 05 November 2011 - 08:57 AM

I can't seem to connect. :(
Your examples work perfectly fine but if I try it in my own games I can't get past the log in screen.

You'll need to register yourself as a developer and register your game's gameID (Global Game Settings > Loading > Game Identifier). This is used to properly separate all the different game sessions running at the same time :)

Also I was wondering if it is possible to have the first player to log in control controller1 & the 2nd player control controller2?

The current system uses "Player object" for the player you can control and "Other player object" for all the other players. If you just have 2 players, you could use this to have the players control different objects.

If you want to have more than 2 players online at the same time, you could use server_num_players and server_player_get to loop through the full list of players. But I guess that isn't what you want?
  • 0

#15 Dendail

Dendail

    GMC Member

  • GMC Member
  • 268 posts

Posted 05 November 2011 - 04:59 PM


I can't seem to connect. :(
Your examples work perfectly fine but if I try it in my own games I can't get past the log in screen.

You'll need to register yourself as a developer and register your game's gameID (Global Game Settings > Loading > Game Identifier). This is used to properly separate all the different game sessions running at the same time :)

Also I was wondering if it is possible to have the first player to log in control controller1 & the 2nd player control controller2?

The current system uses "Player object" for the player you can control and "Other player object" for all the other players. If you just have 2 players, you could use this to have the players control different objects.

If you want to have more than 2 players online at the same time, you could use server_num_players and server_player_get to loop through the full list of players. But I guess that isn't what you want?


Alright good news is my login works but the bad news is both players goes into two separate games. >.<
EDIT: Also is it possible for when there is one player to have that player go to a waiting screen until there is a 2nd player? And one more thing if there is say 3+ players have them paired off into separate matches?

Edited by Dendail, 05 November 2011 - 05:03 PM.

  • 0

#16 size43

size43

    GMC Member

  • GMC Member
  • 201 posts
  • Version:GM:Studio

Posted 05 November 2011 - 05:17 PM

Alright good news is my login works but the bad news is both players goes into two separate games. >.<

Which name did you use to login?

EDIT: Also is it possible for when there is one player to have that player go to a waiting screen until there is a 2nd player? And one more thing if there is say 3+ players have them paired off into separate matches?

I am working on that right now, so expect it to be in Update 8,9 or 10 (See below).
A workaround can be made by using the advanced mode, and handling player login/logouts yourself. It requires a lot of GML, thats the reason why I am implementing it right in to the extension. :)

 

Update 8 is not going as fast as I hoped, so I am considering splitting it into 3 different parts. I am not sure where to split the list though.

The current list of new features:
-Autoupdate
-Friends
-Notifictions ("x requests you as a friend", "friend asks to play game x", "x logged in to game y, click here to play", "play game x now vs player y")
-(UDP?)
-Level/game data
-Game overview/spotlight
-1 vs 1 / 2 vs 2 / 3 vs 3 =>VS Mode
-SPC/ADR enhancements
-Speed improvement (I called it the 4D-packet, providing faster sending/receiving of speed & direction)
  • 0

#17 Dendail

Dendail

    GMC Member

  • GMC Member
  • 268 posts

Posted 05 November 2011 - 06:09 PM


Alright good news is my login works but the bad news is both players goes into two separate games. >.<

Which name did you use to login?

EDIT: Also is it possible for when there is one player to have that player go to a waiting screen until there is a 2nd player? And one more thing if there is say 3+ players have them paired off into separate matches?

I am working on that right now, so expect it to be in Update 8,9 or 10 (See below).
A workaround can be made by using the advanced mode, and handling player login/logouts yourself. It requires a lot of GML, thats the reason why I am implementing it right in to the extension. :)

 

Update 8 is not going as fast as I hoped, so I am considering splitting it into 3 different parts. I am not sure where to split the list though.

The current list of new features:
-Autoupdate
-Friends
-Notifictions ("x requests you as a friend", "friend asks to play game x", "x logged in to game y, click here to play", "play game x now vs player y")
-(UDP?)
-Level/game data
-Game overview/spotlight
-1 vs 1 / 2 vs 2 / 3 vs 3 =>VS Mode
-SPC/ADR enhancements
-Speed improvement (I called it the 4D-packet, providing faster sending/receiving of speed & direction)


I used two separate names for the players. I also tried using my registered name to see if it works but sadly it did not.
  • 0

#18 size43

size43

    GMC Member

  • GMC Member
  • 201 posts
  • Version:GM:Studio

Posted 05 November 2011 - 06:32 PM



Alright good news is my login works but the bad news is both players goes into two separate games. >.<

Which name did you use to login?

EDIT: Also is it possible for when there is one player to have that player go to a waiting screen until there is a 2nd player? And one more thing if there is say 3+ players have them paired off into separate matches?

I am working on that right now, so expect it to be in Update 8,9 or 10 (See below).
A workaround can be made by using the advanced mode, and handling player login/logouts yourself. It requires a lot of GML, thats the reason why I am implementing it right in to the extension. :)

 

Update 8 is not going as fast as I hoped, so I am considering splitting it into 3 different parts. I am not sure where to split the list though.

The current list of new features:
-Autoupdate
-Friends
-Notifictions ("x requests you as a friend", "friend asks to play game x", "x logged in to game y, click here to play", "play game x now vs player y")
-(UDP?)
-Level/game data
-Game overview/spotlight
-1 vs 1 / 2 vs 2 / 3 vs 3 =>VS Mode
-SPC/ADR enhancements
-Speed improvement (I called it the 4D-packet, providing faster sending/receiving of speed & direction)


I used two separate names for the players. I also tried using my registered name to see if it works but sadly it did not.

Which names? I can use them to look up the right place in the log file and check whether anything is going wrong :)
  • 0

#19 Dendail

Dendail

    GMC Member

  • GMC Member
  • 268 posts

Posted 05 November 2011 - 06:37 PM




Alright good news is my login works but the bad news is both players goes into two separate games. >.<

Which name did you use to login?

EDIT: Also is it possible for when there is one player to have that player go to a waiting screen until there is a 2nd player? And one more thing if there is say 3+ players have them paired off into separate matches?

I am working on that right now, so expect it to be in Update 8,9 or 10 (See below).
A workaround can be made by using the advanced mode, and handling player login/logouts yourself. It requires a lot of GML, thats the reason why I am implementing it right in to the extension. :)

 

Update 8 is not going as fast as I hoped, so I am considering splitting it into 3 different parts. I am not sure where to split the list though.

The current list of new features:
-Autoupdate
-Friends
-Notifictions ("x requests you as a friend", "friend asks to play game x", "x logged in to game y, click here to play", "play game x now vs player y")
-(UDP?)
-Level/game data
-Game overview/spotlight
-1 vs 1 / 2 vs 2 / 3 vs 3 =>VS Mode
-SPC/ADR enhancements
-Speed improvement (I called it the 4D-packet, providing faster sending/receiving of speed & direction)


I used two separate names for the players. I also tried using my registered name to see if it works but sadly it did not.

Which names? I can use them to look up the right place in the log file and check whether anything is going wrong :)


Macy & Joseph are the two I normally use.
  • 0

#20 size43

size43

    GMC Member

  • GMC Member
  • 201 posts
  • Version:GM:Studio

Posted 05 November 2011 - 07:58 PM

Macy & Joseph are the two I normally use.

The server seemed to constantly fail to send data to your computer, so I restarted the server. Could you check whether you are still having the same problem?
  • 0




2 user(s) are reading this topic

0 members, 2 guests, 0 anonymous users