Ongoing Delphi gaming project(repost)

完了済み 投稿 Jul 23, 2009 着払い
完了済み 着払い

Attached are the files that i am using to run an online game.

The files work fine! With some minor bugs.

Wat i need is someone to debug them, label all the code, check for any exploits within the files, and give me a list of all the game commands.

The files can use microsoft access or microsoft sql 2000 as the database

There are only 3 main programs that need checking.

m2server (this is the main game program that controls the game)

DBserver (this is the program that writes the plays info to the database in real time, such as items and magic)

The players client (this need to be updated to stay in line with updates made to the m2server)

This would be an on going project for the right person.

Attached are the files and a detailed document explaining what each file job is.

I have these files setup and working on a public server. The server is running windows 2003 and has each verison of delphi installed on it.

This will make your life easier as you will be able to see the files working in real time, and test them in real time if you need to. The coder will be given full access to the server. I will help out in ever way i can with these files.

## Deliverables

Logdataserver:-

Never seen this work. It is meant to record everything that happens in game, such as when and where items drop, when people trade items etc, but as I said it’s never worked and really not that important, so I would just leave this for now.

Game/Run Gate:-

Hmmm well, I have no idea...

I know it filters out swear words in game, but that’s about all I do know.? No real need to look in to this file right now.

Selgate:-

Yeah again really not 100% sure what this is for, I think it’s selecting the server after the login screen.

Logingate:-

Not 100% sure how this works. It allows players to connect to the server.

LoginSrv (login server):-

This is where all the accounts are stored and created. On the current files the user names and password are saved in a .db file, you can open this file with notepad, but there is no real order. Some files use SQL 2005/2008 to save the user names and passwords. The problem with this is that I am unable to convert the .db database in to SQL 2005/2008. If we use SQL then users need to create their account via the website.

If we were able to convert the .db to sql then this would be great. If players could sign up in game and the details were saved in SQL this would be amazing.

The biggest problem with the loginsrv is that you can’t really do much, other than search for user names, but saying that if we use sql for the storage of user names and passwords this wouldn’t be a problem.

DBserver:-

This saves data to the sql server in real time. Things such as players exp, players levels, spells, items etc, any thing that needs saving in the database.? Never had a problem with this program, a few errors but will look in to them another time. You will need to change this program to reflect any changes you make within the m2server or the database.

M2Server:-

This is the main program, and uses sooooooooo many resources. The main reason for this is the program loads all the databases in to itself. Our main server database is 200megs in size, mainly due to the player item database, so once the m2server has loaded it’s using 2 gigs of ram, and the sql server is also using 2gigs of ram!

It would be great if we could break this program down in to 4 or 5 programs which control different parts of the game. This would probably take a bit more work to do, if it is possible to do at all. Something that would make this program run so much better is if it read in real time from the sql database rather then loading the database in to itself. Again I don’t know if this is possible.

The M2server has so many functions that it would take me a month just to list them all, so I will talk more about the in game functions rather then the admin side of things.

NPC’s (non player characters)

These use basis commands in games. All commands for NPC’s start with “#?? such as

#if

checklevel? =? 5

#act

kill

#elseact

give mirsword

That is a simple NPC command that checks if the char is level 5, if the char is level 5 then the char would be killed, if the char isn’t level 5 then the char gets a mirsword (an item in game)

All NPC scripts start with [@main] e.g.

[@main]

#say

ello\

<take me to the next section of this NPC/@next>

[@next]

this is the second part of the NPC.

Adding “<?? to the start of an NPC line will create a link to the next part of the NPC script. The “>?? closes the link. The /@next (this can be any thing) tells the script where to go if the line is clicked on.

NPC’s are a massive part of the game, mainly used for moving to other maps, and doing quests.

Merchants:-

Almost the same as NPC’s but with an added function. They buy, sell, repair, special repair (so durability [aka ‘dura’] doesn’t drop on the item) and make items.? The basic coding of merchants is the same as NPC, but with NPC’s you can use commands to buy, sell, repair etc.

I have NEVER seen the point in having NPC and merchants. Combining them would be a great idea.

Characters.

There are 3 types of char (sometimes 4, depending what files you are using)

Warrior, Wizard, Taoist and Assassin (Assassin is the new class)

Each class have their own spells (some of these are bugged)

Each class has its own type of attack, Warrior is DC, Wizard is MC and Taoist is SC, but Taoists tend to use DC as well.

?

There are only 2 types of defence. AC and AMC. AC protects against DC and AMC protects against MC and SC. Would like to add ASC, this would be to protect against SC, rather then AMC.

In addition to the default AC and AMC, there are also 2 other stats. These are Accuracy and Agility, Accuracy being the attack and Agility being the defence. All of the above stats have base and top end i.e. DC 1-1, AC 2-2, AMC 3-3. DC has always been less powerful then MC and SC, finding out the true difference between DC, SC and MC would be a great help.

In addition to the standard attacks, a few new stats were added. These are Poison attack and Slow attack. There are no settings in the m2server for how strong or how long Slow and Poison attacks last.

There is a defence for Poison attack, this is Poison Resistance, and there is also Magic Resistant, pretty much all of these are bugged and could do with recoding. These stats don’t have base and top end, they are just an additional stat. I.e. PA + 1, Slow + 2, PR + 4 (Poison Attack + 1, Slow + 2, Poison Resistance +4). PA+1 is meant to = PA + 10%, this is way overpowered. Giving these base and top end stats would be a nice idea. If you are unable to change these to base and top stat, they need to change from 10% to 1%.

Slow causes whatever is being attacked to move and attack slower, and Poison causes whatever is being attack lose hp slowly (or fairly quickly, if the Poison is potent enough) over time.

Taos have Poison as a spell and are able to poison monsters or other players at a distance. Taos can use green or red poison. Green poison is the poison that makes players/monster lose hp slowly, and is the poison that can be put on to items. Red poison can only be used by Tao’s, red poison reduces the AMC and AC on the monster/char.

More settings are needed for Tao Poison and Poison attack on items.

Taos also have a spell called Curse; this slows any monster/char in the area that the spell is cast; the problem is the slow lasts way too long and might need looking at.

Some armours and necklaces have luck on them. You can add luck to weapons only.

Luck + 1 give you a 10% chance of hitting the top end of your DC/MC/SC, this really needs to be changed from 10% to 1%

There are rumours that you have luck +1 on your body, confirming this would be good.

The opposite of luck is curse. Curse stops you from hitting your top end DC/MC/SC, curse is fine as it is, as curse is a result of killing another player, and sometimes appears on your weapon. If your weapon has luck and you receive a curse, it will reduce your luck by 1 until you have no luck, it will then go in to negative values, for example cursing from luck+1, would then go to neutral, then curse+1, then curse+2, etc, to a maximum of curse+10 (which is 100% chance to hit bottom end DC/MC/SC).

The only other attack option is attack speed. These can be added to weapons, rings and necklaces. I believe it is capped at attack speed 12. As far as I am aware this works fine.

Attack speed only affects physical attacks, it doesn’t affect spell casting. Adding casting speed or making attack speed effect casting too would be great.

Ok think that’s the attack and defence covered.

In the M2 server there are loads of options...

I will try and run through them the best I can.

Everything under the control option works, reload means you are loading the database back m2server.

View:-

Online players ??" Shows who’s online, you can go to an advanced view of the player and change a few settings.

Sessions ??" No idea

View level ??" No idea what this is for either.

View lists ??" Think this is a way to update database without having to open sql.

View Kernal info ??" No idea

Options:-

General Config ??" This is where you can configure the server IPs and database user names and password. Think a few of these things are no longer needed.

Game config ??" Configs the ingame settings, not sure which ones are working and which ones aren’t.

Function Config ??" More ingame settings.

Game Command ??" This is very important. This is where you select which commands players can use and which ones only GM’s can use. A player command will be set to 0/10 a gm command will be set between 1/10 and 10/10. GM’s (gamemasters) can have different levels of power. These are the commands that we need to find. 90% of commands start “@?? and a view like /who start with “/?? I know there are hidden commands which allow player to do things that only GM’s should be able to do.

Monster config ??" Pretty simple, not really needed.

Sever Value ??" I have no idea what any of these settings do, but would love to know.

Manage:-

Online messenger ??" Allow me to talk in game and everyone logged in will see what I am saying.

Castle ??" This should have some functions related to a castle that players are able to conquer in game

Guild ??" Not working

All these setting are saved to the ![url removed, login to view] file. The !setup file isn’t really laid out that well. If we are able to break it down in to smaller sections that would be good.

? In game stuff now.

?

Above is a screen shot from in game. The res is 600 by 800. I would love to be able to change this. Not the viewable area of the game, as we would have to redraw everything in game, but change it to this.

?

This is in res 1024 by 768. The interface has been dropped down, and this allows u to see more of the map. The black borders can be used for other features such as mp3 player and voice server at a later date. But upgrading the res and colour it will give us a lot more in game space to play with

All the in game features are fully working on my current files, but I am not sure if they are working on the files you have.

Pressing pause break will save a screen shot to the users PC. This saves in BMP format. Changing this to JPEG would be great, and also if a copy of the screen shot was saved to the server as well this would save on fake screen shots being sent in, and also allow people to link to screen shots rather then having to upload them.

The EXE itself doesn’t release memory, it just keeps using it lol, so this issue needs looking. The exe reads from a txt file which tells it the IP address of the server. It would be nicer if the ip address was imbedded in to exe. What would be even nicer is, if we could have the exe connect to one server ip address then that server connecting to another server, this way the real server ip would never be found out, and if the server was to be dos attacked there would only be attacking the server that holds the “forwarding programming??.

The exe reads from the files within the client. The files are saved as .will and .wix files. These are animation files.

The map files are saved as .map files, and also in the client. At the moment keeping theses file like this is ok, but we would be looking at some sort of encryption added to the map files, so that people can not steal our maps.

On the screen shot you can see the chat box is the big white box in the bottom centre of the screen. This shows all chats, private chat, public shouts, global shouts, and worst of all EXP. EXP spam is horrible, some tabs within the chat box would be great, so that you don’t have to see all the exp spam, and town shout spam.

Players are able to type commands in game such as “ @recall “, this recalls a group of people if you are wearing the right kit. These commands are great, but other commands such as “ @allowguildrecall “ are commands that players shouldn’t have to type in, so an option menu with tick boxes would make life much easier. EG

[tick box] Allowguildrecall

[tick box] Allowdeerrecall

There are many commands in game as you will soon see.

When you kill a monster you get exp, this displays as a message saying you have gained “x mount of exp points?? would be nice if it could say.

“You have gained 30000 exp points which is 0.001% of the current exp needed??

The sun you can see on the right is day/night time. This changes roughly every 4 hours, if this can be set to co inside with GMT that would be great.

Other then that I can not think of anything else to tell you.

デルファイ エンジニアリング マイクロソフト マイクロソフトアクセス MySQL PHP プロジェクト管理 ソフトウェアアーキテクチャ ソフトウェアテスト SQL ウィンドウズデスクトップ

プロジェクトID: #2811020

プロジェクトについて

4個の提案 リモートプロジェクト アクティブ Jul 27, 2009

アワード:

vw7271284vw

See private message.

$510 USD 14日以内
(10レビュー)
5.1

4人のフリーランサーが、平均$579 で、この仕事に入札しています。

jstevenvw

See private message.

$531.25 USD 14日以内
(9件のレビュー)
3.9
forbestcodervw

See private message.

$637.5 USD 14日以内
(0件のレビュー)
2.0
codersdenvw

See private message.

$637.5 USD 14日以内
(2件のレビュー)
0.0