Jump to content

Recommended Posts

Posted

Hi all! Continuing the series "When Dummies Mod Minecraft" here goes another stupid question:

 

I was thinking, some mods give some advantages to their users compared to someone playing without that mod.

 

With that in mind, I was wondering if there's a way for the server to "know" what mods someone have installed. Then the server would maybe decide whether that client can join or not. Is that an already existing feature of servers? If not, Is it possible to make a server mod to do that?

 

Thanks in advance!

WIP mods: easyautomation, easyenergy, easyelectronics, easymoney, easytrasportation, easysecurity, easymultiverse, easyfactions, easymagick, easyalchemy, easyseasons

Posted

Some mods definitely are cheating of sorts.  And not all of them are client side mods.  Steve's Carts (which are amazingly useful) I've decided are cheating.

 

As for your question...I believe it's possible.  But I wouldn't know how to go about it.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Posted

Thanks for your reply!

 

Yeah I'm sure a lot of mods out there are just like cheating... I think I can make mods that are not cheats, like requiring the server to have the same mod installed (I think Forge API has an annotation that does that, doesn't it?). But we have no control over what will other people put in ther mods.

 

So this is why I think it would be nice for the server to have that type of control. Although I do not own a server, I'd like to make a mod to help those who do to keep it clean from undesired mods. I'm thinking more of vanilla styled servers, not those capture the flag things and etc that probably have plugins or something like that to keep things under control.

 

So since we established some mods can be considered cheating in a multiplayer enviroment, can anyone give me a hint on where to start building a server mod that would allow connection just to clients that had installed mods from a set of aproved mods? And also, How would I run and test such a mod? I don't have a minecraft server myself...

WIP mods: easyautomation, easyenergy, easyelectronics, easymoney, easytrasportation, easysecurity, easymultiverse, easyfactions, easymagick, easyalchemy, easyseasons

Posted

You'd need to start by decompiling the server jar and finding the section where it handles new connections.  I know that the server window does output what mods a new connection has installed.

 

From there it would be a matter of using that information to decide if the client can connect or not, then either allowing it or forcibly disconnecting them.

 

From there, you should be able to run the server through Eclipse, and then run your client normally, and connect to a server at the IP address 127.0.0.1 (aka Local Host).

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Posted

the problem with blocking certain mods is you'd need to block it via its mod name and it takes around 5 seconds to circumvent the block of that mod.

 

for instance if you blocked XrayMod

 

you could just change its name to NotAXrayMod and its no longer blocked

 

you could just block all mods except specified ones but then if people have mods that add certain things like shaders they would not be happy joining the server and removing X mods just because the server owner has blocked all mods except approved ones

Posted

Player derp has joined the server with the following mods .....

Forge already has it, and this isn't coding related

"you seem to be THE best modder I've seen imo."

~spynathan

 

ლ(́◉◞౪◟◉‵ლ

Posted

Mods, like technology in general, have no inherent moral leanings. They can be good or not good, and therefor mods are cheats... When they're cheats. And not when they're not.

Posted

Thanks for all the answers.

 

Player derp has joined the server with the following mods .....

Forge already has it, and this isn't coding related

 

I don't know what you meant.

 

(sorry, I don't know how to quote more than one person. Actually all my editor shortcuts are missing, I have only this text box to type in, and the buttons to post, preview and spell check. Something's wrong with the forums, I suppose).

 

@RANKSHANK You mean: If it is not a Forge mod theres no way a Forge server mod can know what mods each client has installed?

 

@jordan30001 I think I'd be ready to drop a few niceties in the name of a clean honest game (that of course depending on what is the purpose of the server). For example, imagine a server where the gameplay revolves around economics, like obtaining currency, trading with other players and NPCs, aquiring raw materials and processing them, putting money in banks and etc. A server with that orientation would have to be very strict about which mods are allowed and would have a list of "ok mods". Every other mod, no matter how harmless, would be "not ok".

So, jordan30001, considering what you said, would a player still be able to change the name of his/her "cheat" mod to the name of an ok mod and just connect his/her client without the server ever having any way to detect anything wrong?

 

In my opinion, if the server can't have absolute control over what exactly each and every connected client can do, there's no way to have a serious multiplayer experience with strangers in minecraft. Which is gonna be a big disappointment for me.

 

finally, @Draco18s, sorry, this is probably a stupid question, but how to I decompile server.jar? And where do I find that file? I'm a noob, sorry :(

WIP mods: easyautomation, easyenergy, easyelectronics, easymoney, easytrasportation, easysecurity, easymultiverse, easyfactions, easymagick, easyalchemy, easyseasons

Posted

finally, @Draco18s, sorry, this is probably a stupid question, but how to I decompile server.jar? And where do I find that file? I'm a noob, sorry :(

 

You can find it by downloading it from Minecraft.net, it's right there under the client download.

 

As for decompiling, modding, and recompiling:

http://www.minecraftwiki.net/wiki/Mods/Creating_mods/Starting_your_First_Mod

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Posted

You can find it by downloading it from Minecraft.net, it's right there under the client download.

 

As for decompiling, modding, and recompiling:

http://www.minecraftwiki.net/wiki/Mods/Creating_mods/Starting_your_First_Mod

 

Thanks! Download done. But that wiki article doesn't really have anything useful on what exactlty is this minecraft_server.jar, where do I put it, how do I decompile it, and finally how do I use it to make a server mod. It's actually pretty basic stuff on how to code an extremely simple mod that doesn't do anything, to be used with ModLoader.

 

I'll try to figure it out though, thanks again. It can't be that hard. At least now I have the file.

WIP mods: easyautomation, easyenergy, easyelectronics, easymoney, easytrasportation, easysecurity, easymultiverse, easyfactions, easymagick, easyalchemy, easyseasons

Posted
Thanks! Download done. But that wiki article doesn't really have anything useful on what exactlty is this minecraft_server.jar, where do I put it, how do I decompile it, and finally how do I use it to make a server mod. It's actually pretty basic stuff on how to code an extremely simple mod that doesn't do anything, to be used with ModLoader.

 

To use Forge, download Forge from the Forge website.  Double click the installer, let it run.  When it finishes, you'll have decompiled source for the client.  You'll have to manually add the server jar and decompile again (there's a nice executable called decompile.bat, you just have to run that--well, run cleanup.bat first).

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Posted

Thanks! I already have Forge, and I've already been coding for a few days now. Got a few recipes, blocks (some of them do really crazy stuff like changing day to night and shine to rain and vice versa), got a few items, new tool material, one tile entity, one GUI and one container (that's all I got so far). Then after, from my experiments I begin to realize how powerful a mod can be, and this thought about mods being used for evil purposes strikes me, and then I created this thread.

 

Anyway, I'll follow your instructions regarding the decompiling of minecraft_server.jar. I only have one question: do I need to put minecraft_server.jar under any specific folder? I ask because I'm not sure how the decompiler thing will know where it is. That's all, thanks again.

WIP mods: easyautomation, easyenergy, easyelectronics, easymoney, easytrasportation, easysecurity, easymultiverse, easyfactions, easymagick, easyalchemy, easyseasons

Posted
Anyway, I'll follow your instructions regarding the decompiling of minecraft_server.jar. I only have one question: do I need to put minecraft_server.jar under any specific folder? I ask because I'm not sure how the decompiler thing will know where it is. That's all, thanks again.

 

mcp/jars

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Posted

Thanks! :)

WIP mods: easyautomation, easyenergy, easyelectronics, easymoney, easytrasportation, easysecurity, easymultiverse, easyfactions, easymagick, easyalchemy, easyseasons

Posted

I am working on a mod that will let people black list mods on there server bu I have not even started the dev of it yet only the thrifty.

 

That will be awesome! I'm a noob but if there's any way I can help let me know  :)

WIP mods: easyautomation, easyenergy, easyelectronics, easymoney, easytrasportation, easysecurity, easymultiverse, easyfactions, easymagick, easyalchemy, easyseasons

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.