So, I was thinking, why cant we have a launcher that connects us to any server, no matter whats its running on. It doesnt seem too hard, though I am not programmer, coder, modder. But I am willing to learn. My concept came from the FTB and Technic servers, when you enter a code to get the modpack and install it. then you launch it. From there you can connect to a server using same pack. But thats the whole problem, the same pack. Packs have to match to work. But what if there was a launcher that said "Oh your running on this, let me just copy that and connect to you."
THIS IS FOR SERVERS ONLY mind you. Not for single player or local host connections. This is if someone is hosting a server and they have mods installed, and you want to join. But you dont want to download each mod and place them in the right folders, and each time a new mod is added, have to find it and place it in. Nor do you want to have to get technic for technic server, and a FTB launcher for FTB server.
So this is where this launcher would come in.
For example, you have forge on your server, and you added mods, and its running for you. But others wanting to join have to download the mods and place them in right folder. And oh wait, the server just added a new mod or changed one or deleted one, and your have to go through them all to make it match the server again.
Well this Launcher would fix all that. Just like Ftb and technic, where you open launcher and enter code to add pack, with this launcher, your just add server IP, and it will add the server to a list, so you can have multiple.Then, like how filezilla can search through a server, this launcher will check wt jar verion, mods, configs etc the server is using, and download an exact replica for you, installing it ina custom folder. That way, your open launcher and just click the server you want to join, no matter if its a technic or ftb, it will just locate the clone of server mods and jar, and run the minecraft with those installed.
This means one launcher fits all, and makes installing so much easier for players wanting to join server. True, the server hosts will have to still add the packs and the jars, but their valuable players just enter ip and click play.
So what do you think? Would this be possible? Is it just a cool idea. I want to know your opinions, heck if you know any coding, lets work on it lol. :3
This is possible, but some mod authors have modpack permissions stating that you cannot redistribute the mod.
I know, you are probably going to say "I'm not redistribute it, the client will download the mod from said link"
But still, I messaged (Well Watchful1 did, on behalf of me) Soaryn, showing my code I did, and.
"Soaryn": Yeah no I dont approve of that still
package u.ra.l.bearbear12345.forge.Mod_Downloader;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.logging.Logger;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.Instance;
import cpw.mods.fml.common.Mod.PreInit;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
@Mod(modid = "BigBear_ModDownloader", name = "BigBear Mod Downloader", version = "1.0.0")
public class BigBear_ModDownloader {
static String version = "1.0.0";
static String modid = "BigBear_ModDownloader";
@Instance("BigBear_ModDownloader")
public static BigBear_ModDownloader instance;
public final Logger log = Logger.getLogger("Minecraft");
@PreInit
public void PreLoad(FMLPreInitializationEvent event)
throws MalformedURLException, IOException {
log.info("BigBear Mod Downloader | Loading!");
log.info("BigBear Mod Downloader | Version: " + version);
log.info("BigBear Mod Downloader | Author: bearbear12345");
try {
URL url = new URL(
"http://dl.dropbox.com/s/do6y3i3eufeq110/download.info");
BufferedReader in = new BufferedReader(new InputStreamReader(
url.openStream()));
String str;
while ((str = in.readLine()) != null) {
if (str.startsWith("//")) {
return;
}
String[] parse = str.split(" ");
if (parse[1] == "0") {
File folder = new File("../instMods");
if (!folder.exists()) {
// Called if instMods doesn't exist. Therefore, not
// launched with the FTB Launcher
//
// folder.mkdir();
}
File file = new File("../instMods/" + parse[2]);
if (!file.exists()) {
log.info("Downloading: " + parse[2]);
download(parse[0], "../instMods/" + parse[2]);
}
return;
} else {
if (parse[1] == "1") {
File file = new File("mods/" + parse[2]);
if (!file.exists()) {
log.info("Downloading: " + parse[2]);
download(parse[0], "mods/" + parse[2]);
}
return;
} else {
if (parse[1] == "2") {
File file = new File("coremods/" + parse[2]);
if (!file.exists()) {
log.info("Downloading: " + parse[2]);
download(parse[0], "coremods/" + parse[2]);
}
return;
}
}
// 0 - instMods
// 1 - mods
// 2 - coremods
}
in.close();
}
} catch (MalformedURLException e) {
} catch (IOException e) {
}
log.info("BigBear Mod Downloader | Loaded!");
}
/*
* Snippet From: http://stackoverflow.com/a/921408/1337520 Edited to the
* urlString and filename are reversed.
*
* Old Parameters: saveUrl(filename, URL); New Parameters: saveUrl(URL,
* filename);
*
* Also edited to change the method name to download Old Parameters:
* saveUrl(URL, filename); New Parameters: download(URL, filename);
*
* + Static
*/
public static void download(String urlString, String filename)
throws MalformedURLException, IOException {
BufferedInputStream in = null;
FileOutputStream fout = null;
try {
in = new BufferedInputStream(new URL(urlString).openStream());
fout = new FileOutputStream(filename);
byte data[] = new byte[1024];
int count;
while ((count = in.read(data, 0, 1024)) != -1) {
fout.write(data, 0, count);
}
} finally {
if (in != null)
in.close();
if (fout != null)
fout.close();
}
}
}
Yea, permissions cud be a problem, But I still think the idea of a 1 click server launch wud b great. I mean, just enter ip, it installs any mods that server uses, from the server, and installs it. Then just click play. What does your code do exactly ( I cant read it lmao, I dont know how to mod yet so its just a bunch of craziness for me.
Well it basically reads a text file located on a cloud server (DropBox)
And the text file (which is no longer existent) would list all the mods to be downloaded
I'm pretty sure that the code I posted was the early version, as it doesn't have the other things I put in. Though it was abandoned, since even though I can make one, I would not have permission to let it do what it does
THIS IS FOR SERVERS ONLY mind you. Not for single player or local host connections. This is if someone is hosting a server and they have mods installed, and you want to join. But you dont want to download each mod and place them in the right folders, and each time a new mod is added, have to find it and place it in. Nor do you want to have to get technic for technic server, and a FTB launcher for FTB server.
So this is where this launcher would come in.
For example, you have forge on your server, and you added mods, and its running for you. But others wanting to join have to download the mods and place them in right folder. And oh wait, the server just added a new mod or changed one or deleted one, and your have to go through them all to make it match the server again.
Well this Launcher would fix all that. Just like Ftb and technic, where you open launcher and enter code to add pack, with this launcher, your just add server IP, and it will add the server to a list, so you can have multiple.Then, like how filezilla can search through a server, this launcher will check wt jar verion, mods, configs etc the server is using, and download an exact replica for you, installing it ina custom folder. That way, your open launcher and just click the server you want to join, no matter if its a technic or ftb, it will just locate the clone of server mods and jar, and run the minecraft with those installed.
This means one launcher fits all, and makes installing so much easier for players wanting to join server. True, the server hosts will have to still add the packs and the jars, but their valuable players just enter ip and click play.
So what do you think? Would this be possible? Is it just a cool idea. I want to know your opinions, heck if you know any coding, lets work on it lol. :3
-DEL
I know, you are probably going to say "I'm not redistribute it, the client will download the mod from said link"
But still, I messaged (Well Watchful1 did, on behalf of me) Soaryn, showing my code I did, and.
And the text file (which is no longer existent) would list all the mods to be downloaded
I'm pretty sure that the code I posted was the early version, as it doesn't have the other things I put in. Though it was abandoned, since even though I can make one, I would not have permission to let it do what it does