Jump to content


Photo

GameMaker Server


  • Please log in to reply
1328 replies to this topic

#1 size43

size43

    GMC Member

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

Posted 08 October 2011 - 11:29 AM

0gy0qvv.png


GameMaker 8.0, 8.1 or GM:Studio required. JavaScript exports aren't currently supported.

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 no port forwarding is required.

More info can be found on the site. Feel free to ask if you encounter any problems. smile.gifDownload:
GameMaker Server Update 1.7 (0,3 MB)

Edited by size43, 04 May 2014 - 09:04 AM.

  • 17

#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
  • 537 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
  • 537 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
  • 537 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
  • 537 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
  • 537 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
  • 35 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

MentorBanner1.png

Im open to help you in what i can.


#12 size43

size43

    GMC Member

  • GMC Member
  • 537 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
  • 341 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
  • 537 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
  • 341 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
  • 537 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
  • 341 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
  • 537 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
  • 341 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
  • 537 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

#21 Dendail

Dendail

    GMC Member

  • GMC Member
  • 341 posts

Posted 06 November 2011 - 03:10 AM


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?


Sorry for the late reply I had to work. Um same issue unfortunately but I did get some new occurrence that may assist you.

FATAL ERROR in
action number 1
of Begin Step Event
for object __newobject37:

To run this script, you need to be connected to the server!

Just to note that object doesn't exist in my library.

Just a little suggestion for your project here. I know this is sort of against the point but since a lot of people prefer gml is there any chance you could add the gml equivalent in a help file?
  • 0

#22 size43

size43

    GMC Member

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

Posted 06 November 2011 - 09:00 AM

Sorry for the late reply I had to work. Um same issue unfortunately but I did get some new occurrence that may assist you.

FATAL ERROR in
action number 1
of Begin Step Event
for object __newobject37:

To run this script, you need to be connected to the server!

Just to note that object doesn't exist in my library.

Well, I guess we're in different time zones. I just woke up :P
Anyway, the server kicks you because the client didn't react for more than 10 seconds. __newobject37 is one of the objects created by the extension to manage the connection, players etc. So it's a "normal" error.

I know some other people are having the same problem. Your suggestion "the bad news is both players goes into two separate games" made me think the ping kick isn't the actual problem. Unfortunately the error seems to be computer-specific. So have not been able to reproduce the error, which makes debugging very difficult. Since you are not the only one having this error, I may be able to get enough information to fix it.

Could you please do the following:
-Check whether the examples cause the same error?
-Check whether you are also getting kicked (D&D: Check whether connected to server) when you are logged in with just one account?
-Run the game in debug mode and send me/post the "debugXXXX.log" file?
-Tell me which names you have used and when you logged in, so I can check the log files?
-Which version of windows you are using? And which firewall you are using?
-Are you using a router?

I will compare your results with the results of others, and hopefully find an solution.
Sorry for the inconvenience :(
  • 0

#23 Clanker2212

Clanker2212

    GMC Member

  • New Member
  • 2 posts
  • Version:GM8

Posted 06 November 2011 - 10:35 AM

Can you make a video on how to set up a server and how to get other people join it?
  • 0

#24 size43

size43

    GMC Member

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

Posted 06 November 2011 - 10:40 AM

Can you make a video on how to set up a server and how to get other people join it?

The whole point of this extension is that you don't need to set up a server, forward ports, etc. This extension handles all the joining/chatting/logging in/logging out itself. :)
  • 0

#25 Clanker2212

Clanker2212

    GMC Member

  • New Member
  • 2 posts
  • Version:GM8

Posted 06 November 2011 - 10:58 AM

I keep getting a error when i click Ask the player to login
  • 0

#26 size43

size43

    GMC Member

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

Posted 06 November 2011 - 11:31 AM

I keep getting a error when i click Ask the player to login

Which error?
  • 0

#27 Dendail

Dendail

    GMC Member

  • GMC Member
  • 341 posts

Posted 06 November 2011 - 06:44 PM

Could you please do the following:
-Check whether the examples cause the same error? No error when I run it.
-Check whether you are also getting kicked (D&D: Check whether connected to server) when you are logged in with just one account? From inactivity you mean? I did with my game.
-Run the game in debug mode and send me/post the "debugXXXX.log" file? I hope you meant from my game. http://www.mediafire...1ud95vbe88xi82c
-Tell me which names you have used and when you logged in, so I can check the log files? Using a single name this time I used Macy. Second time I used hunter & ranger. I also want to know the chat works fine but everything else is like playing two different games.
-Which version of windows you are using? And which firewall you are using? Windows Vista & I have the default firewall.
-Are you using a router? Yes I am also on wireless if that helps.
  • 0

#28 size43

size43

    GMC Member

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

Posted 08 November 2011 - 05:10 PM

Could you please do the following:
-Check whether the examples cause the same error? No error when I run it.
-Check whether you are also getting kicked (D&D: Check whether connected to server) when you are logged in with just one account? From inactivity you mean? I did with my game.
-Run the game in debug mode and send me/post the "debugXXXX.log" file? I hope you meant from my game. http://www.mediafire...1ud95vbe88xi82c
-Tell me which names you have used and when you logged in, so I can check the log files? Using a single name this time I used Macy. Second time I used hunter & ranger. I also want to know the chat works fine but everything else is like playing two different games.
-Which version of windows you are using? And which firewall you are using? Windows Vista & I have the default firewall.
-Are you using a router? Yes I am also on wireless if that helps.

So you are actually able to stay in the game until you login with a second player? Or does logging in with multiple accounts not directly affect being kicked?

Did you actually use the chat? There haven't been sent any chat messages while you were logged in?

Did you login while in debug mode? The log file indicates that there has been no connection with the server after the extension initiated.

When I know what triggers the server or client to stop sending data, I can easily fix it. I just need to find out what causes this problem. :)
  • 0

#29 hwasser

hwasser

    GMC Member

  • New Member
  • 19 posts

Posted 04 December 2011 - 10:54 AM

Hi, I have a problem with updating or deleting this extension (using version 6, want to upgrade to version 7). It says "list out of bounds" when trying to delete the extension from game maker. I have set all the game maker executives to "run as admin" in the game maker root folder and I am opening a blank game when I trying to do this. Anyone have any clue about how to fix this?

And this Game Maker Server dont run so smooth on the platform example. The characters are moving really laggy and fall through floors until the move_contact_solid is executed :P
  • 0

#30 size43

size43

    GMC Member

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

Posted 04 December 2011 - 11:27 AM

Hi, I have a problem with updating or deleting this extension (using version 6, want to upgrade to version 7). It says "list out of bounds" when trying to delete the extension from game maker. I have set all the game maker executives to "run as admin" in the game maker root folder and I am opening a blank game when I trying to do this. Anyone have any clue about how to fix this?

You could try to remove the files directly instead of using GameMaker. The GameMaker Server files should be in one of these folders: "C:\Users\USERNAME\AppData\Local\GameMaker8.1\extensions" "C:\Users\USERNAME\AppData\LocalNow\GameMaker8.1\extensions" "C:\Users\USERNAME\AppData\Roaming\GameMaker8.1\extensions"

If it still doesn't work, you could use an GML-only version of this extension. (Update 8 contains a proper GML-only version, but I can make one now as well. I can't guarantee everything works properly, though)

And this Game Maker Server dont run so smooth on the platform example. The characters are moving really laggy and fall through floors until the move_contact_solid is executed :P

I've made some improvements in version 7. I added a simple function for Smooth Position Correction. Instead of syncing hspeed and vspeed, it syncs where the player walked to. So the other clients calculate how the player walked by themselves. :)

I am trying to release update 8 as soon as possible. Yeah, I know, I should have finished it yesterday, but I had to make "Surprises" for "sinterklaas" (I don't think there's actually an english wordt for that). So expect update 8 to come next week or so (december the 18th?)
  • 0

#31 jon sploder

jon sploder

    GMC Member

  • GMC Member
  • 919 posts

Posted 16 December 2011 - 08:09 AM

I really don't mean to knock this extension but why are all the GML functions beginning with server_ when they're not really related at all... the client is the only one that'll be calling a login?
Many functions I read are pretty pointless, for instance chat_enable/disables could be bound into chat_toggle(true/false). If this is entirely a server specific extension... why does the server have chat... and why are there no client functions?
The thing I'm really interested about is instance synching, what is instance 'ins'? And is this truly synchronization code with delta timing etc? Or just... sending it to everyone...?

clear(instance) - Just like instance_destroy, but shorter

seriously? Or anything online makes this legit?

Anyway again, I really appreciate it when people try and help the rest of the community especially in online.

Edit: Hang on, looked deeper. Why is this doing stuff with the registry? I don't like that. The fact that this doesn't use UDP means that the game is guaranteed to lag in reality, you know that right?

Edited by jon sploder, 16 December 2011 - 08:30 AM.

  • 0

#32 size43

size43

    GMC Member

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

Posted 16 December 2011 - 03:44 PM

I really don't mean to knock this extension but why are all the GML functions beginning with server_ when they're not really related at all... the client is the only one that'll be calling a login?

It's just a prefix. I used to call every game a "server", but I changed that later on. I never felt the need to actually change the prefix, because it's still related to multiplayer (communicating with the server)

Many functions I read are pretty pointless, for instance chat_enable/disables could be bound into chat_toggle(true/false). If this is entirely a server specific extension... why does the server have chat... and why are there no client functions?

Yeah, it's not really needed to have 2 functions. This whole extensial is only the client-side. Even though all the functions have the server_ prefix, there is not a single function that has anything of a "server" in it.

The thing I'm really interested about is instance synching, what is instance 'ins'? And is this truly synchronization code with delta timing etc? Or just... sending it to everyone...?

Right now it's just sending to everyone. It does have some sort of really simple Dead Reckoning since it syncs the speed and direction too. Maybe I have chosen the wrong name for it, due my lack of English. But delta timing sounds interesting. I have no idea how to do it though.

clear(instance) - Just like instance_destroy, but shorter

seriously? Or anything online makes this legit?

I use it a lot in my scripts. I know it has nothing to do with multiplayer, but why would I want to hide it? Anyway, if this is a problem, I will hide it in the next update(U9).

Edit: Hang on, looked deeper. Why is this doing stuff with the registry? I don't like that.

It's saving hashes so you just need to log in once per game, and not every time you play the game.

The fact that this doesn't use UDP means that the game is guaranteed to lag in reality, you know that right?

I've been trying to enable UDP as well, but it's a lot of work. And I just haven't had the time yet.

It feels like you expected that this extension is some sort of super-39dll. It's not. If you have enough skills to make a whole server on your own, you shouldn't be looking at this. This is just the very basic tool to create a multiplayergame. It allows some easy D&D actions and GML scripts, but it definitely doesn't have the speed and efficiency of a self-created server/client.

 

GameMaker Server - Update 8
(it has none of the above suggested things, because this update was actually released a few days ago on the Dutch forums)

-Game info
-VS Mode
-server_last_username()
-Password-lost option
-4D packet to improve speed
-server_save_data(true) improved
-Level data
-Some small other improvements: Bug fixes, new D&D actions and some useless functions removed (server_start, server_stop, server_set_code, server_is_started) Starting/stopping of client scripts is now handled by the gex automatically and initialisation code will be executed on game start and not on first function call

Download

Edited by size43, 16 December 2011 - 03:46 PM.

  • 0

#33 jon sploder

jon sploder

    GMC Member

  • GMC Member
  • 919 posts

Posted 17 December 2011 - 01:10 AM

Yeah sorry, I re-read what I wrote and it sounds very critical. I only looked here because it might contain some interesting parts of code. You've done a phenomenal amount of work, but I'm just sceptical as to how this is going to help a novice at learning to use networking; IMO online programming needs a lot of fine tweaks and careful management. This seems to be trying to take away the pains of networking which also takes away the flexibility of the program. BTW if you'd like to check out delta timing, I think Revel created an example.
  • 0

#34 size43

size43

    GMC Member

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

Posted 17 December 2011 - 09:28 AM

You've done a phenomenal amount of work, but I'm just sceptical as to how this is going to help a novice at learning to use networking; IMO online programming needs a lot of fine tweaks and careful management. This seems to be trying to take away the pains of networking which also takes away the flexibility of the program.

Don't be sorry, criticism is good :)
understand your point. I know this doesn't teach anyone how to use networking, but GameMaker does exactly the same: You don't need to worry about variables, resources, loading, complex level files, scripts, functions etc. But on the other hand, GameMaker allows a lot of people to create games with D&D. This extension does not teach anyone how to use networking, the only thing it does, is allowing D&D users to create multiplayer games.

When I started this extension, I really tried to create as much advanced functions as simple ones, but it became clear that nobody actually used them, because most people who tried this extension never actually used GML before. So, to make GameMaker Server useful, I had to create D&D libraries and make everything even easier. (The extension still has an "advanced mode" and some functions which look a lot like the whole sendmessage() receivemessage() thing)

I guess this is what you get when you create an extension which makes things easier. It will be used by a lot of novice users, and you will be forced to implement more and more functions to make things easier. Then your extension gets a bad reputation because all games created with it are not so good, you get criticism by the better game makers, and then you failed. But, I am very happy there are at the moment already some more skilled people creating games with this, and I hope I will be able to host this extension for years more :)

Edited by size43, 17 December 2011 - 09:29 AM.

  • 1

#35 Rhodox

Rhodox

    GMC Member

  • GMC Member
  • 132 posts

Posted 19 December 2011 - 09:55 PM

This extension is AMAZING even if it is quite laggy

Edited by Rhodox, 19 December 2011 - 11:36 PM.

  • 0
This is for googlebot!
Here is my gaming Website: www.oct.cz.cc

#36 size43

size43

    GMC Member

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

Posted 21 December 2011 - 03:39 PM

This extension is AMAZING even if it is quite laggy

I am glad you like it :) I am working on some fixes to decrease lag. The next update contains some big improvements on the client's side, and Update 10 will most likely feature UDP (Huge speed boost) :)
  • 0

#37 Wolfeman

Wolfeman

    GMC Member

  • New Member
  • 13 posts

Posted 25 December 2011 - 08:19 PM

Cant download! Get this "Parse error: syntax error, unexpected T_VARIABLE in E:\xammp\htdocs\language\en.php on line 197"
  • 0

#38 size43

size43

    GMC Member

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

Posted 26 December 2011 - 09:30 AM

Cant download! Get this "Parse error: syntax error, unexpected T_VARIABLE in E:\xammp\htdocs\language\en.php on line 197"

Uggh, very stupid bug. I forgot a ";". It should be fixed now ;)
  • 0

#39 Wolfeman

Wolfeman

    GMC Member

  • New Member
  • 13 posts

Posted 26 December 2011 - 07:56 PM


Cant download! Get this "Parse error: syntax error, unexpected T_VARIABLE in E:\xammp\htdocs\language\en.php on line 197"

Uggh, very stupid bug. I forgot a ";". It should be fixed now ;)

Haha, yea it works now :) thanks!
  • 0

#40 kaibil

kaibil

    GMC Member

  • GMC Member
  • 119 posts
  • Version:GM8

Posted 30 December 2011 - 06:11 PM

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

Why?
How many of these questions are people asking?

"i wass woundering if it is possable to make a game like habbo hotel with game maker

acourse with the right a mount of work

i know gml just not the online part
i know how i could get the walking etc done etc just not the chat and connection
but if i knew these would i be able to create it ?

i seen a few game maker games that are on line like rpg ones so a habbo must be possable"


"(Translated)Hey everyone,
I want to create a MMORPG game like World Of Warcraft or RuneScape, but in 2D and completely free. I don't know the codes, so please help me! :) :S"


GameMaker made making games simple, but making multiplayer games still isn't that simple. So that's why I created this extension.

What?
GameMaker Server is an extension which provides very simple (and some advanced) tools to create a multiplayer game. It's basically a layer between the raw TCP/IP messages and GameMaker: It provides functions like D&D actions, syncing local and global variables, and functions to create a simple chat window. If you are already familiar with GML, you can use almost 70 GML-scripts, which allow you to take control over every part of the system, including handling logging in & out, receiving chat messages, and sending custom messages to other players.

Features

* Making multiplayer games with 2 Drag & Drop actions
* You can see other players without any line of code
* Instances can be synced with other players
* Scripts to create a simple chat window.
* Syncing global & local variables between players
* Every version of your game can run in a new "Game Room", so you don't get problems with editing the word and having for example players walking through walls.
* An admin, kick, ban & warn system.
* Advanced mode which allows you to manage almost everything including, players logging in and out, chat messages, player variables, and player-to-player messages.

List of scripts:
Since I haven't made a proper script-example, I will post a full list of all scripts in this extension here.

Spoiler


Errorcodes
Idem.
Spoiler




Download:
GameMaker Server Update #7 (0,4 MB, 2 examples + gex)

Game Registration:
The whole site should be in English (if you note any errors, please tell me), but the Help section isn't. I will try to translate them soon :smile:
http://gamemakerserver.tk/register/ (For devs and players. Players don't need an account to play a game, though)

Changelog

* Update 1: Signatures + GM8.0 compatibility
* Update 2: D&D actions + bugfixes + examples
* Update 3: Login screen + bugfixes + security problem fixed + extended chat
* Update 4: New site + Stats + Support for reals + new login screen + removed all duplicate verification codes
* Update 5: Speed improvements (from 50 to 80 FPS on my computer) + You can now user <Enter> and <escape> in al login screen + better instanceSync
* Update 6:(Compatible with update 5, all previous versions can't be supported anymore) Admins + InstanceHandover + Betatesting + usernames can now be 20 chars + auto-set new synced variables + 9 new D&D actions + p2p-messages now support reals + Examples extended
* Update 7:Online INI, Online Highscore & Bugfixes
* Update 8: Much faster, Level INI's, VS Mode

 

Some GML to get started with:
Settings
server_settings(true, 1, obj_player, obj_other_player) //simple mode=true, version 1, player-object=obj_player, other players:obj_other_player

Advanced logging in:
server_start_login(get_string("Username, please:","test"));
if(server_request_code())
{
     server_set_code(get_string("Your verification code:","XXXXXXXXXX"))
}
server_finish_login();

Only when in advanced mode, to handle chat messages, player logins, etc.. In simple mode this is all done automatically:
while(true)
{
	action=server_get_action();
	if(!action)
	{
		break;
	}
	switch(action.type)
	{
		case 1://New player
			i=instance_create(0,0,obj_other_player);
			i.player_id=action.pid;
			i.name=action.name;
			break;
		case 2://Player logs out
			player_id=action.pid;
			//Do something to log player out
			break;
		case 3://Chat message received
			show_message("Chat: "+action.name+"("+string(action.pid)+"): "+action.text);
			break;
		case 4:
			show_message("Received a p2p message! Now going through the arguments");
			for(i=0;i<action.count;i+=1)
			{
				show_message("Argument["+string(i)+"]: "+action.arg[i]);
			}
			break;
	}
	clear(action);
	
}


I know there are some other gexes that do something related to mine here, but I hope you find this one useful too :)


I replicated all of your objects from your Maze example to my game, (changing the objects names to work with my game && room sequence (with objects))
And when I press enter in the login box i get this error :


___________________________________________
ERROR in
action number 1
of Create Event
for object obj_login:

Creating instance for non-existing object: 0
  • 0

#41 size43

size43

    GMC Member

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

Posted 30 December 2011 - 06:34 PM

I replicated all of your objects from your Maze example to my game, (changing the objects names to work with my game && room sequence (with objects))
And when I press enter in the login box i get this error :


___________________________________________
ERROR in
action number 1
of Create Event
for object obj_login:

Creating instance for non-existing object: 0

It seems like the gex isn't initialized correctly. When do you call the server-settings script/action? (It should be before you call the login script/action)
  • 0

#42 NeoTalon27

NeoTalon27

    GMC Member

  • GMC Member
  • 220 posts
  • Version:GM:HTML5

Posted 15 January 2012 - 06:15 PM

Can we have a more advanced example, possibly with a little more comments.
I Keep getting send back to the login screen of my game.
Im guessing it is because it isn't registered on your site,
when I tried to register the ID on your site it eventually works,
bit when I gave the game permission I had another 502, Internal Server Erroe :confused:
Please Give some kind of Answer/ Feedback.
  • 0

#43 size43

size43

    GMC Member

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

Posted 15 January 2012 - 06:38 PM

Can we have a more advanced example, possibly with a little more comments.
I Keep getting send back to the login screen of my game.
Im guessing it is because it isn't registered on your site,
when I tried to register the ID on your site it eventually works,
bit when I gave the game permission I had another 502, Internal Server Erroe :confused:
Please Give some kind of Answer/ Feedback.

Ok, I will start working on some more examples. Any preferred D&D actions/scripts I need to do in particular? :)

The server appearantly decides to change your gameID when you trie to log in. I will look at that soon. (I don't have the time right now) But you seem to be loggin in correctly right now, so I guess you found a way around it?

And since I completely forgot to post anything about the updates:

GameMaker Server - Update 9 & 10 & 10.1 & 10.2
Right, I forgot to post 2 updates. If you have downloaded GameMaker Server recently, you most likely already have the newest version (The downloadlink updates automatically).
To check: Open the extension manager, click GameMaker Server, and look at "Version: ". It should say 10.2

Basically, it contains this:
Update 9
-A new chat
-CPU-improvements
-An auto-update funtion for your game
-Some bugfixes
-Some other, less important stuff

Update 10:
-Simple Teams
-Anti-DDoS
-P2P-messages for the simple mode
-A developer-password, to prepare for U11
-A lot of bugs

Update 10.1&10.2:
-Bugfixes

I know the names aren't displayed correctly, you should use server_get_var and global._player_name insteadfor the time being. When I have the time, I will fix this bug ;)

Download (5,4 MB)
  • 0

#44 NeoTalon27

NeoTalon27

    GMC Member

  • GMC Member
  • 220 posts
  • Version:GM:HTML5

Posted 15 January 2012 - 07:10 PM

I already have the newest update, and like you said my friends name(in chat) shows up as mine, any way for me to work around this, I don't want to mess with too much gml right now.
maybe a really basic MMORPG as an example
3 basic Var:
-lvl
-exp
-expn(exp to next lvl)
I mean somthing like GRAAL, a Zelda-Like LTTP online MMORPG

Okay Wll thanks for the Info :happy:

Edited by NeoTalon27, 15 January 2012 - 07:16 PM.

  • 0

#45 NeoTalon27

NeoTalon27

    GMC Member

  • GMC Member
  • 220 posts
  • Version:GM:HTML5

Posted 15 January 2012 - 07:15 PM

Also is there any way to center the name above your player?
  • 0

#46 size43

size43

    GMC Member

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

Posted 15 January 2012 - 07:24 PM

I already have the newest update, and like you said my friends name(in chat) shows up as mine, any way for me to work around this, I don't want to mess with too much gml right now.
maybe a really basic MMORPG as an example
3 basic Var:
-lvl
-exp
-expn(exp to next lvl)
I mean somthing like GRAAL, a Zelda-Like LTTP online MMORPG

Okay Wll thanks for the Info :happy:

Ok, I will start working on that ;)

A way to work around this is to use draw variabele instead.
use as expression: server_get_var(player_id,"name") (for the other player of global._player_name for the player. :smile:

Also is there any way to center the name above your player?

You should check out draw_set_halign(halign). I am not enitrely sure whether there is an D&D equivalent
  • 0

#47 NeoTalon27

NeoTalon27

    GMC Member

  • GMC Member
  • 220 posts
  • Version:GM:HTML5

Posted 15 January 2012 - 07:36 PM

I simply used D&D for the centering, It worked.

server_get_var(player_id,"name")


where would I use this, in Create?
I am no nub to GM, I'm just no good with extensions :biggrin:

Edited by NeoTalon27, 15 January 2012 - 07:38 PM.

  • 0

#48 NeoTalon27

NeoTalon27

    GMC Member

  • GMC Member
  • 220 posts
  • Version:GM:HTML5

Posted 15 January 2012 - 08:10 PM

You left... :sleep: , well I figured some stuff out, but: do Instances Auto Sync on Destruction?
  • 0

#49 size43

size43

    GMC Member

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

Posted 16 January 2012 - 01:59 PM

I simply used D&D for the centering, It worked.

server_get_var(player_id,"name")


where would I use this, in Create?
I am no nub to GM, I'm just no good with extensions :biggrin:

In the 'expression' field, the draw-variabele action.

You left... :sleep: , well I figured some stuff out, but: do Instances Auto Sync on Destruction?

It should, however there might be a bug. I will try to fix it as soon as possible.

I am really willing to fix these bugs, I just don't have any time this week. The days are very exhausting and my free time is reduced to nearly zero, so I can barely do anything :(
  • 0

#50 NeoTalon27

NeoTalon27

    GMC Member

  • GMC Member
  • 220 posts
  • Version:GM:HTML5

Posted 16 January 2012 - 03:09 PM

Error : gml_Script_XServer_step(582) : statement in a switch MUST appear after case or default

appeared in GMH
  • 0




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users