The Game Creators
The Game Creators Home Online Shop Click to Login
  Hot: Christmas CompetitionNovember NewsletterModel Pack 36DB Pro Pack 2009DGS BonanzaCharacter PackFPS Creator Bonanza;
The Game Creators
DLL Talk / DBP_EZSClient Plugin - EZ_Serv Plugin for Dark Basic Professional

Go to the first page of this board Return to the Forum Menu Post Message
19 Messages - Page   of 1   
Bookmark and Share Search the Forum

Author Message
CattleRustler

Moderator


Joined: Fri Aug 8th 2003
Location: case modding at overclock.net
Posted: 10th Sep 2005 15:53     Edited: 11th Sep 2005 13:10     | link | toggle

DBP_EZSClient Plugin

The DBP_EZSClient Plugin for DBP is designed to simplify the usage of the EZ_Serv TCPIP Server application with your DBP programs. The Plugin handles all tcpip communications, parses and responds to all ezs specific protocol messages, allows the user to build and maintain Protocol-Pass-Thru (PPT) stub lists so that the plugin can parse them automatically, and even builds and maintains remote client lists (independent Server and Zone levels) exposing all of this data to the end user’s application.

Function List:
ezs_SetParserMode ByVal ModeType As Integer
ezs_Connect ByVal Host As String, ByVal Port As Integer
ezs_GetTCPData() As String
ezs_GetConnectionState() As Integer
ezs_Send ByVal tData As String
ezs_Disconnect
ezs_GetSCCount() As Integer
ezs_GetZCCount() As Integer
ezs_GetSCNickByIndex(ByVal Index As Integer) As String
ezs_GetSCIDByNick(ByVal Nick As String) As Integer
ezs_SetLoginData ByVal ClientNick As String, ByVal ClientPassword As String
ezs_SetClientVersion ByVal Version As String
ezs_SetPPTDelim ByVal Delimiter As String
ezs_SetPPTIDMode ByVal ModeType As Integer
ezs_AddPPTStub ByVal StubName As String
ezs_RemovePPTStub ByVal StubName As String
ezs_GetServerTime(ByVal PartIndex As Integer) As String
ezs_GetCommand() As String
ezs_GetCommandID() As String
ezs_GetCommandData() As String

The download contains the dll, a doc file, and a keyword ini.
You can download the package from HERE or by clicking my sig link.
This plugin requires the MS .NET Framework 1.1 or higher

Thanks, all feedback welcome
CR

Back to top
Report this message as abusive
CattleRustler

Moderator


Joined: Fri Aug 8th 2003
Location: case modding at overclock.net
Posted: 18th Sep 2005 10:28           | link | toggle

this plugin is still under development but I added 2 functions that were missing...

ezs_GetShortID()
ezs_GetLongID()

previously the plugin only allowed you to get this data if the server was set to use logins. Moggie100 pointed out that you couldnt get this data from the plugin when not using logins :/

Call those fucntion above at any time to get their values, whether or not the server is set to require logins. The data returned is YOUR client's id's.

download the patched plugin here

Back to top
Report this message as abusive
Philip 1337

User


Joined: Tue Aug 27th 2002
Location: United Kingdom
Posted: 22nd Sep 2005 09:04     Edited: 22nd Sep 2005 09:07     | link | toggle

Quote: "ezs_GetShortID()
ezs_GetLongID()"

Yes this is what I need

oh and the keywords file needs an update

Back to top
Report this message as abusive
CattleRustler

Moderator


Joined: Fri Aug 8th 2003
Location: case modding at overclock.net
Posted: 22nd Sep 2005 17:27     Edited: 22nd Sep 2005 17:28     | link | toggle

yeah I have been having a problem with a development related tool and have not been able to release any plugin updates because of it. Sorry for the delay, I have tons of cool stuff for the plugin but its held up in a pre-release step. Hoping to have that fixed soon.

for now add those 2 funcs manually to the ini file. follow the format in the file.

If anyone is experiencing weird crashing of the plugin, etc - this is a byproduct of the problem I am working on...

more to come

Back to top
Report this message as abusive
Philip 1337

User


Joined: Tue Aug 27th 2002
Location: United Kingdom
Posted: 23rd Sep 2005 09:18           | link | toggle

Quote: "
Cannot perform 'integer' cast on type.
"
+ Code Snippet
playerID = ezs_GetShortID()


For some reason, it only lets you return it as a string and when i read the string it is empty ""

Back to top
Report this message as abusive
CattleRustler

Moderator


Joined: Fri Aug 8th 2003
Location: case modding at overclock.net
Posted: 23rd Sep 2005 17:51     Edited: 23rd Sep 2005 17:52     | link | toggle

it does return string.
are you connected before you call the func? if not it will be empty since the id is assigned by the server after connection

Back to top
Report this message as abusive
Philip 1337

User


Joined: Tue Aug 27th 2002
Location: United Kingdom
Posted: 24th Sep 2005 06:06           | link | toggle

Yes I am connected to the server before calling it and it returns nothing

Back to top
Report this message as abusive
jasonhtml

User


Joined: Sat Mar 20th 2004
Location: OC, California, USA
Posted: 10th Oct 2005 09:09           | link | toggle

im a little confused on how to recieve variables from the server, cause there is no EZS_RECIEVE command...

Deathquest: 60% (MMORPG)
DD Studios Website: http://www.geocities.com/jasonhtml/
DD Studios Forum: http://s6.invisionfree.com/DD_Studios_Forum
Back to top
MMOGWave Send AIM user a message
Report this message as abusive
CattleRustler

Moderator


Joined: Fri Aug 8th 2003
Location: case modding at overclock.net
Posted: 10th Oct 2005 13:23           | link | toggle

your PPT data gets formatted at the server into 3 buckets, separated by your PPT Delimiter, the plugin parses these buckets provided you have suspplied the pptdelim to the plugin etc. So for example if your delimiter is % then server sends:

PPTStubName%SenderID%Data

The plugin puts each of these pieces in to the following 3 fields in the plugin class:

Command, CommandID, CommandData

If you call ezs_GetCommand(), ezs_GetCommandID(),and ezs_GetCommandData() in your main loop youll get the values as they exist at the time of the call...

sCMD as string
sCMD_ID as string
sCMD_Data as string

Do
sCMD=ezs_GetCommand()
sCMD_ID=ezs_GetCommandID()
sCMD_Data=ezs_GetCommandData()
rem do something with sCMD,sCMD_ID,sCMD_Data here

Loop


hope that helps.

I am most likely going to rework the plugin to not handle the tcpip stuff, and use exeats plugin again, but it will still parse messages and retain remote clients lists etc. Theres a problem with Async calls and Delegates and other things being included in the .Net converted dll for dbp as a plugin. Not 100% sure on all this though, since its hard to pinpoint the problem when I cant step the vbnet code at runtime.

Back to top
Report this message as abusive
Google Ad
Back to top
 
jasonhtml

User


Joined: Sat Mar 20th 2004
Location: OC, California, USA
Posted: 10th Oct 2005 17:22           | link | toggle

uh... so the server can only hold 1 variable(or piece of data) at a time? so, when u give it a second piece of data, where does the other one go?

Deathquest: 60% (MMORPG)
DD Studios Website: http://www.geocities.com/jasonhtml/
DD Studios Forum: http://s6.invisionfree.com/DD_Studios_Forum
Back to top
MMOGWave Send AIM user a message
Report this message as abusive
CattleRustler

Moderator


Joined: Fri Aug 8th 2003
Location: case modding at overclock.net
Posted: 10th Oct 2005 19:14           | link | toggle

the server is a traffic cop for messages. it sends them to various clients depending on the what the message was and who it was for, it never "holds" messages. Your client receieves the data and needs to decide what to do with it (store it, act on it, etc). the plugin is a vehicle to receive messages and parse them into their constituent parts. the client plugin isnt necessary, you could code your own tcpip client and data parser to "talk" to ez_serv.

When the data is received and broken into the three parts it just sits there waiting to be removed (ezs_Get... functions) Whether you read the values or not is up to you, the plugin doesnt care. If a new message is received, whethere or not you have read the last one, the old data is overwritten with the new data. There is currently no buffer system - this will be added soon. Exeat's winsock plugin has a message buffer currently. A message buffer acts like a Stack where data messages are pushed onto the stack as they are received, and popped off the stack when you call the function that gets the data message. The stack or buffer is a first on - first off schema. The point of it is to hold onto messages so the client doesnt miss any messages if the client is not fast enough to grab them as they arrive.

Back to top
Report this message as abusive
jasonhtml

User


Joined: Sat Mar 20th 2004
Location: OC, California, USA
Posted: 10th Oct 2005 19:59           | link | toggle

ok, so, would it be a good idea to have a special client to run with the server if u want to store multiple variables and data or something like that?

for example, a player would give it a command to get file "ex.txt" and then the server would tell the special client to give the player that file, would that work well? or no?

Deathquest: 60% (MMORPG)
DD Studios Website: http://www.geocities.com/jasonhtml/
DD Studios Forum: http://s6.invisionfree.com/DD_Studios_Forum
Back to top
MMOGWave Send AIM user a message
Report this message as abusive
CattleRustler

Moderator


Joined: Fri Aug 8th 2003
Location: case modding at overclock.net
Posted: 11th Oct 2005 07:13           | link | toggle

yes, making a logic-client is quite possible. you could send it special messages (TO_ONE in the marshal types, see ezs help). Then this logic-client could perform special tasks that the other regular clients have no concept of. Then it could notify the regular clients about it, if need be. Ez_serv is very open-ended, allowing all sorts of possibilities, its just a matter of people actually coding something

Back to top
Report this message as abusive
jasonhtml

User


Joined: Sat Mar 20th 2004
Location: OC, California, USA
Posted: 11th Oct 2005 17:53           | link | toggle

k, thx

Deathquest: 60% (MMORPG)
DD Studios Website: http://www.geocities.com/jasonhtml/
DD Studios Forum: http://s6.invisionfree.com/DD_Studios_Forum
Back to top
MMOGWave Send AIM user a message
Report this message as abusive
Kharnor

User


Joined: Sat Jul 5th 2003
Location: Australia
Posted: 21st Oct 2005 20:44           | link | toggle

Well i hope you get a buffer system added soon, because otherwise your client plugin's virtually worthless. It's great not having to worry about login and pong messages and the like, but not having a message buffer makes it very hard to code anything. So until you get it worked out ill have to stick with exeat's winsock stuff and parse all those commands myself.

btw, your sig link is broken?

Entia non sunt multiplicanda praeter necessitatem
Back to top
Report this message as abusive
Philip 1337

User


Joined: Tue Aug 27th 2002
Location: United Kingdom
Posted: 22nd Oct 2005 15:59           | link | toggle

I agree with Kharnor, I've put my project on hold because I need the Buffer System.

Back to top
Report this message as abusive
CattleRustler

Moderator


Joined: Fri Aug 8th 2003
Location: case modding at overclock.net
Posted: 24th Oct 2005 18:32     Edited: 24th Oct 2005 18:35     | link | toggle

there are major problems with the client plugin so I'd say anyone using ezs should use their own tcpip method and their own parser. I apologize for this but due to unforeseen circumstances I can now only support the ezs app itself - the client plugin is off the table.

Quote: "btw, your sig link is broken?"
yes, I brought down my whole site except for the main domain page

good luck to everyone.

SORRY UR NOT COMEDIAN
Back to top
Report this message as abusive
Kharnor

User


Joined: Sat Jul 5th 2003
Location: Australia
Posted: 25th Oct 2005 01:08     Edited: 25th Oct 2005 01:08     | link | toggle

Ah, ok. Guess I'll have to stop procrastinating and start coding then, because I can't wait for you to do it for me anymore!

Any reason for taking the site down other than to take a break until next year?

Entia non sunt multiplicanda praeter necessitatem
Back to top
Report this message as abusive
CattleRustler

Moderator


Joined: Fri Aug 8th 2003
Location: case modding at overclock.net
Posted: 27th Oct 2005 15:47           | link | toggle

I am disolving my business partnership with my friend in NJ, and registering the business where I live (NY) in my own name, not a partnership. Plus I have a zillion other things going on with work, pregnant wife, house reorganizing, etc etc so no time for squat!

hopefully things will calm down in 06

SORRY UR NOT COMEDIAN
Back to top
Report this message as abusive

Go to the first page of this board Return to the Forum Menu Post Message
19 Messages - Page   of 1   
Search the Forum

Sorry, but it has been so long since anyone replied to this Thread that it has been automatically locked.
You may read it but not reply.

Forum Search

Enter a word or phrase to search our Forum for:

Thread Subject Search
Search Phrase:
Search Scope: Entire forum
Just this board
 
Google Forum Search
Search Phrase:
 
Apollo v2.02


Dark Game Studio
Privacy Policy AUP Top of Page