[DISCUSSION] Server & client sided SAMP extension?
#1

Hi,

For some longer time, I've been thinking about something: a client & server sided extension/plugin which would aim to fix some minor & bigger SAMP and GTA bugs, provide more control & information of player's game to the server, and maybe provide a client-sided scripting language (probably JavaScript).

Basic functions would be "exposed" to the scripting language such as: object related, textdraw related, vehicle related (?), and maybe some other. This would put off a lot of job from the server (for example: the object streamer, it could be entirely made on the client's side, with bigger visible objects limit).
The plugin would also allow admins to create better anti-cheats (although that is still questionable, since everything can be bypassed, but providing more information to the server would obviously make it easier to detect stuff)
Seeing the actual situation, we may probably not expect any future updates, so this could also in some way keep SAMP up-to-date. Things like downloading textures, objects, sounds from the server could be provided.

Of course the plugin would be open source, otherwise noone would trust it. It would also require a lot of security checks in the client (and server too) and fast bug fixes to prevent any possible "hacking" through exploits (I'm having some buffer overflows on my mind, just like SAMP had in textdraws etc). It would automatically update itself so it would be easier to keep players safe.


This is all just a theory though, since I haven't even started any work on this (don't even have much time to do that now), but I'd like to see some opinions about this.
I know there have been some attempts to create similar things previously, but most of them based on simple fixes and providing 10000 new checkpoint colours, this would provide a much bigger set of possibilities, and if many servers used it and required it I think it would work out.

Edit
To be clear, I don't aim at over complicating it, the plugin would still keep SAMP the "vanilla" way, without altering the game too much. It would just "connect" SAMP with the game more, in a better way, providing much more functions.
Reply
#2

I was thinking about it today. A client integration would be good to save CPU and do anti cheater things. But open source anti cheat things is a good way to tell the cheater creator how to bypass the security. Thinking on that I realized that we will have just abandoned projects like SAMP+. A server and client integration have to be a private project and hard do evade.
Reply
#3

Good luck man, it's a lot of time to do something like that.
Reply
#4

You are in giddy land right now, a project like this has such a low success probability you shouldn't waste your time. This has been done and every attempt so far has had poor results not in functionality but in terms of adoption.
Reply
#5

Implementing some simple client scripting language with basic functions shouldn't take that long, and that would be the main goal of the plugin besides fixing bugs and providing more functionalities.
I know it would take a long time, it would probably require more than one person, but looking at current SAMP situation, we are probably not getting any next update (cmon, last update was in 2015) and if this plugin would be the next "future" of SAMP and some bigger servers would start to use it then it would maybe work. Ssome servers use custom launchers to provide custom objects and stuff for the players, wtih this plugin they just woulndn't need to, and players would have less job - install once and don't worry ever more. We could also introduce some new server browser, which would also fix the internet list (or implement the fix that is already out there somewhere) and do much much more.
Reply
#6

Mate, its awesome idea. But since its client, it has to be downloaded(big - for morons without brain). Im talking about anticheat mostly. For other stuff, i think its not possible. If you make this somehow, you'll be new Kalcor.
Reply
#7

Whats not possible? Implementing a client sided scripting language? Downloadable resources? That's actually probably the easiest part. It would make lots of things that are impossible (or inefficient) now POSSIBLE, you could even do some calculations to detect if you ride behind a vehicle and do some "draft" race class like in NFS, modify the vehicle handling, and basically everything else (but in a reasonable manner, we don't want to make some other game out of our old good SA).
We could also implement some fixes for the poor streaming distance in GTA (who else is annoyed as hell by trees loading 10 meters in front of you when riding a car fast?)
Nowadays computers could run this GTA 100 times while maintaining 100fps, I know the game is poorly optimized because it's a console port but some things can be fixed/made better.
Reply
#8

Kalcor, god of sa-mp, please do something!
Reply
#9

Quote:
Originally Posted by dotSILENT
Посмотреть сообщение
Whats not possible? Implementing a client sided scripting language? Downloadable resources? That's actually probably the easiest part. It would make lots of things that are impossible (or inefficient) now POSSIBLE, you could even do some calculations to detect if you ride behind a vehicle and do some "draft" race class like in NFS, modify the vehicle handling, and basically everything else (but in a reasonable manner, we don't want to make some other game out of our old good SA).
We could also implement some fixes for the poor streaming distance in GTA (who else is annoyed as hell by trees loading 10 meters in front of you when riding a car fast?)
Nowadays computers could run this GTA 100 times while maintaining 100fps, I know the game is poorly optimized because it's a console port but some things can be fixed/made better.
WEll, care to explain us how are you going to do that? Also, would be nice if you could somehow implement "downloading" resource onplayerconnect. I'm not that much experienced to talk anything about your new stuff, but i wish you the best.
Reply
#10

DeitY, having access to the player's game through a client-sided plugin (dll/asi) gives you almost unlimited possibilities (and also some risks)
It just requires implementing a scripting engine and "exporting" some functions such as CreateTextDraw etc, resource downloading would just work on sending files from server to client, or using an external FastDL (ftp) server. Downloading it easy, it would be harder to load the resources to the game (objects, textures etc) at runtime than making the download.
Reply
#11

Quote:
Originally Posted by dotSILENT
Посмотреть сообщение
it would be harder to load the resources to the game (objects, textures etc) at runtime than making the download.
Custom modloader? The logic is already there, programmer would only have to export some functions from dll.
Reply
#12

Quote:
Originally Posted by Original Post
It would automatically update itself so it would be easier to keep players safe.
I remember reading something somewhere on how this can actually be a bad thing to do. If automatic updates are pushed (similar to how Windows 10 forces updates), it leaves a risk if the update itself becomes compromised. Similarly, there's also been the argument that allowing a server to download textures or other information could also lead to risk if proper safeguards haven't been put into place.

Nonetheless, this type of thing is possible however and has been done before, however most of the projects have been abandoned. Take SAMP+ for Example. It was used by a few people when it was first created, however it hasn't been updated in ages and most people have probably forgotten about it. Although if someone has the time, dedication, and knowledge for something like this, there's always room for a new project as long as it's not just given up on like previous projects have been.
Reply
#13

It's great idea to do something like this, we are acttualy sick of cheaters everyday new cheat. We would be greatfull if someone even trys to do this. I would use it for shure.
Reply
#14

Bitno je da ti imas "3 ciste" ti nisi cist u mozak decko. Homi mozda nije najbolji skripter. Ali zato ima server i mod koji postoje vec dugo vremena i rade bez problema. Dimi nam resio problem? Nije pomogao nam jeste da ustanovimo u cemu problem jeste kao sto nam pomazu mnogi drugi ljudi kao sto pomazemo i mi njima. Tako da idi da se lijecis najbolje bi ti bilo jer od ljubomore nemas vajde. Bitno je da kaljas jedan post sa tvojom smrdljivom recenicom.
Reply
#15

It will be so nice, if somebody can done a client sided client, as u guys say. Because, besides the cheats and cheaters i see that sa-mp is starting to be more and more left behind. I would love to helping on a project like this, but i dont have that much knowledge in this department, i mean i really know scripting in pawn, but an project like this is too big for me right now. But anyway if anyone plans to do something like this, i will try to help how much i can and i know.

P.S Sorry for the writing mistakes.
Reply
#16

Quote:
Originally Posted by MikeBN
Посмотреть сообщение
It's great idea to do something like this, we are acttualy sick of cheaters everyday new cheat. We would be greatfull if someone even trys to do this. I would use it for shure.
I'm not so much a fan of a project like this for the purpose of an Anti Cheat. You don't really need to have too much client side work done to void your server of cheaters. Some things you could do instead would be having active and knowledgeable admins constantly monitoring reports and scripts that utilize what information SA-MP is already able to provide. There are several servers that maintain a low cheater rate, possible through several different reasons. Some of these servers have application processes, others have active admins and good scripts, and so on.

People always jump on having something done client side that they forget about what is already possible without making additional modifications. Most of the cheats out there are either detectable or manageable by active administration. A project like this could be dedicated to having more specialized functions available without having to beg for something in SA-MP to be updated. The possibilities are really pointless when you're able to interact with the client without too much restriction.
Reply
#17

Quote:
Originally Posted by Abagail
Посмотреть сообщение
I'm not so much a fan of a project like this for the purpose of an Anti Cheat. You don't really need to have too much client side work done to void your server of cheaters. Some things you could do instead would be having active and knowledgeable admins constantly monitoring reports and scripts that utilize what information SA-MP is already able to provide. There are several servers that maintain a low cheater rate, possible through several different reasons. Some of these servers have application processes, others have active admins and good scripts, and so on.

People always jump on having something done client side that they forget about what is already possible without making additional modifications. Most of the cheats out there are either detectable or manageable by active administration. A project like this could be dedicated to having more specialized functions available without having to beg for something in SA-MP to be updated. The possibilities are really pointless when you're able to interact with the client without too much restriction.
Yes u right, but there are some cheats that can't be detected, lets take for example Renko auto-aim..that thing is almost undetectable. And the other problem is that admins cant stay online 24/7..they need rest, and when there's no admins active cheaters abuse and start using damn cheats.

Thats why it will be awesome to have a hackshield updated constantly that can get rid of cheaters before they enter in game. This will give admins time to take care of other important things like events and such.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)