Jump to content


Photo

GameMaker Server


  • Please log in to reply
444 replies to this topic

#21 Dendail

Dendail

    GMC Member

  • GMC Member
  • 268 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
  • 201 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
  • 201 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
  • 201 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
  • 268 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
  • 201 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
  • 201 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
  • 858 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
  • 201 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
  • 858 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
  • 201 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

#36 size43

size43

    GMC Member

  • GMC Member
  • 201 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
  • 201 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




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users