• Unfortunately, we have experienced significant hard drive damage that requires urgent maintenance and rebuilding. The forum will be a state of read only until we install our new drives and rebuild all the configurations needed. Please follow our Facebook page for updates, we will be back up shortly! (The forum could go offline at any given time due to the nature of the failed drives whilst awaiting the upgrades.) When you see an Incapsula error, you know we are in the process of migration.

[Release]pokenet+pokemonium (server+client)

Newbie Spellweaver
Joined
Apr 2, 2007
Messages
72
Reaction score
4
this source is at the vary beginning of our conversion to 1.7 so no matter what one you use your going to run into issues with the source. Not working with one or the other.
 
Joined
Nov 1, 2008
Messages
587
Reaction score
83
It is because I know how it feels if your source codes get released without permissions.



Yes, I do have it. I got the .jar file reversed.

Quick example:
Code:
package org.pokenet.server;

import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintStream;
import java.io.PrintWriter;
import java.util.Scanner;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.GnuParser;
import org.apache.commons.cli.HelpFormatter;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
import org.ini4j.Ini;
import org.ini4j.Ini.Section;
import org.ini4j.InvalidIniFormatException;
import org.pokenet.server.connections.ActiveConnections;
import org.pokenet.server.network.MySqlManager;


public class GameServer {


    private static final int SERVER_REVISION = 1910;
    private static boolean m_boolGui = false;
    private static String m_dbServer;
    private static String m_dbName;
    private static String m_dbUsername;
    private static String m_dbPassword;
    private static String m_serverName;
    private static GameServer m_instance;
    private static int m_maxPlayers = 500;
    private static ServiceManager m_serviceManager;
    private static int m_port = 7002;
    private JFrame m_gui;
    private JLabel m_pAmount;
    private JLabel m_pHighest;
    private JButton m_start;
    private JButton m_stop;
    private JButton m_set;
    private JButton m_exit;
    private JPasswordField m_dbP;
    private JTextField m_dbS;
    private JTextField m_dbN;
    private JTextField m_dbU;
    private JTextField m_name;
    private int m_highest;
    public static double RATE_GOLD = 1.0D;
    public static double RATE_EXP_POKE = 1.0D;
    public static double RATE_EXP_TRAINER = 1.0D;
    public static final int MOVEMENT_THREADS = 12;


    public GameServer(boolean autorun) {
        if (autorun) {
            if (m_boolGui) {
                createGui();
            }
            loadSettings();
        } else if (m_boolGui) {
            loadSettings();
            createGui();
        } else {
            ConsoleReader r = new ConsoleReader();
            System.out.println("Load Settings? Y/N");
            String answer = r.readToken();
            if ((answer.contains("y")) || (answer.contains("Y"))) {
                loadSettings();
            } else {
                getConsoleSettings();
            }
        }
        start();
    }


    public void updatePlayerCount() {
        if (m_boolGui) {
            int amount = ActiveConnections.getActiveConnections();
            this.m_pAmount.setText(amount + " players online");
            if (amount > this.m_highest) {
                this.m_highest = amount;
                this.m_pHighest.setText("Highest: " + amount);
            }
        } else {
            int amount = ActiveConnections.getActiveConnections();
            System.out.println(amount + " players online");
            if (amount > this.m_highest) {
                this.m_highest = amount;
                System.out.println("Highest: " + amount);
            }
        }
    }


    public static String getDatabaseHost() {
        return m_dbServer;
    }


    public static String getDatabaseName() {
        return m_dbName;
    }


    public static String getDatabasePassword() {
        return m_dbPassword;
    }


    public static String getDatabaseUsername() {
        return m_dbUsername;
    }


    public static GameServer getInstance() {
        return m_instance;
    }


    public static void initGameServer(boolean autorun) {
        m_instance = new GameServer(autorun);
    }


    public static int getMaxPlayers() {
        return m_maxPlayers;
    }


    public static int getPort() {
        return m_port;
    }


    public static String getServerName() {
        return m_serverName;
    }


    public static ServiceManager getServiceManager() {
        return m_serviceManager;
    }


    public static void main(String[] args) {
        try {
            PrintStream p = new PrintStream(new File("./errors.txt"));
            System.setErr(p);
        } catch (Exception e) {
            e.printStackTrace();
        }


        Options options = new Options();
        options.addOption("p", "players", true, "Sets the max number of players.");
        options.addOption("port", "port", true, "Sets the serverport.");
        options.addOption("ng", "nogui", false, "Starts server in headless mode.");
        options.addOption("ar", "autorun", false, "Runs without asking a single question.");
        options.addOption("h", "help", false, "Shows this menu.");
        options.addOption("rates", "serverrates", true, "Gives the file to be used for server rates config");
        if (args.length > 0) {
            CommandLineParser parser = new GnuParser();
            try {
                CommandLine line = parser.parse(options, args);
                if (line.hasOption("players")) {
                    m_maxPlayers = Integer.parseInt(line.getOptionValue("players"));
                    if (m_maxPlayers < 1) {
                        m_maxPlayers = 500;
                    }
                }
                if (line.hasOption("port")) {
                    m_port = Integer.parseInt(line.getOptionValue("port"));
                }
                if (line.hasOption("help")) {
                    HelpFormatter formatter = new HelpFormatter();
                    System.err.println("Server requires a settings parameter");
                    formatter.printHelp("java GameServer [param] <args>", options);
                }


                if (!line.hasOption("nogui")) {
                    m_boolGui = true;
                }


                if (line.hasOption("rates")) {
                    String rates = line.getOptionValue("rates");
                    Ini ratesIni = new Ini(new FileInputStream(rates));
                    Ini.Section s = (Ini.Section) ratesIni.get("RATES");
                    RATE_GOLD = Double.parseDouble((String) s.get("GOLD"));
                    RATE_EXP_POKE = Double.parseDouble((String) s.get("EXP_POKE"));
                    RATE_EXP_TRAINER = Double.parseDouble((String) s.get("EXP_TRAINER"));
                }


                boolean autorun = line.hasOption("autorun");
                initGameServer(autorun);
            } catch (ParseException exp) {
                System.err.println("Parsing failed.  Reason: " + exp.getMessage());


                HelpFormatter formatter = new HelpFormatter();
                formatter.printHelp("java GameServer [param] <args>", options);
            } catch (InvalidIniFormatException e) {
                e.printStackTrace();
                System.err.println("Error in server rates format, using default 1.0");
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }


        } else {
            HelpFormatter formatter = new HelpFormatter();
            System.err.println("Server requires a settings parameter");
            formatter.printHelp("java GameServer [param] <args>", options);
        }
    }


    public void start() {
        if (m_boolGui) {
            m_dbServer = this.m_dbS.getText();
            m_dbName = this.m_dbN.getText();
            m_dbUsername = this.m_dbU.getText();
            m_dbPassword = new String(this.m_dbP.getPassword());
            m_serverName = this.m_name.getText();


            this.m_start.setEnabled(false);
            this.m_stop.setEnabled(true);
        }


        MySqlManager.getInstance();
        m_serviceManager = new ServiceManager();
        m_serviceManager.start();
    }


    public void stop() {
        m_serviceManager.stop();
        if (m_boolGui) {
            this.m_start.setEnabled(true);
            this.m_stop.setEnabled(false);
        } else {
            try {
                Thread.sleep(10000L);
                System.out.println("Exiting server...");
                MySqlManager.getInstance().close();
                System.exit(0);
            } catch (InterruptedException localInterruptedException) {
            }
        }
    }


    private void createGui() {
        this.m_gui = new JFrame();
        this.m_gui.setTitle("Pokenet Server");
        this.m_gui.setSize(148, 340);
        this.m_gui.setDefaultCloseOperation(0);
        this.m_gui.getContentPane().setLayout(null);
        this.m_gui.setResizable(false);
        this.m_gui.setLocation(32, 32);


        this.m_pAmount = new JLabel("0 players online");
        this.m_pAmount.setSize(160, 16);
        this.m_pAmount.setLocation(4, 4);
        this.m_pAmount.setVisible(true);
        this.m_gui.getContentPane().add(this.m_pAmount);


        this.m_pHighest = new JLabel("[No record]");
        this.m_pHighest.setSize(160, 16);
        this.m_pHighest.setLocation(4, 24);
        this.m_pHighest.setVisible(true);
        this.m_gui.getContentPane().add(this.m_pHighest);


        this.m_start = new JButton("Start Server");
        this.m_start.setSize(128, 24);
        this.m_start.setLocation(4, 48);
        this.m_start.addActionListener(new ActionListener() {


            public void actionPerformed(ActionEvent arg0) {
                GameServer.this.start();
            }
        });
        this.m_gui.getContentPane().add(this.m_start);
        this.m_stop = new JButton("Stop Server");
        this.m_stop.setSize(128, 24);
        this.m_stop.setLocation(4, 74);
        this.m_stop.setEnabled(false);
        this.m_stop.addActionListener(new ActionListener() {


            public void actionPerformed(ActionEvent arg0) {
                GameServer.this.stop();
            }
        });
        this.m_gui.getContentPane().add(this.m_stop);
        this.m_set = new JButton("Save Settings");
        this.m_set.setSize(128, 24);
        this.m_set.setLocation(4, 100);
        this.m_set.addActionListener(new ActionListener() {


            public void actionPerformed(ActionEvent arg0) {
                GameServer.this.saveSettings();
            }
        });
        this.m_gui.getContentPane().add(this.m_set);
        this.m_exit = new JButton("Quit");
        this.m_exit.setSize(128, 24);
        this.m_exit.setLocation(4, 290);
        this.m_exit.addActionListener(new ActionListener() {


            public void actionPerformed(ActionEvent arg0) {
                GameServer.this.exit();
            }
        });
        this.m_gui.getContentPane().add(this.m_exit);


        this.m_dbS = new JTextField();
        this.m_dbS.setSize(128, 24);
        this.m_dbS.setText("MySQL Host");
        this.m_dbS.setLocation(4, 128);
        this.m_gui.getContentPane().add(this.m_dbS);


        this.m_dbN = new JTextField();
        this.m_dbN.setSize(128, 24);
        this.m_dbN.setText("MySQL Database Name");
        this.m_dbN.setLocation(4, 160);
        this.m_gui.getContentPane().add(this.m_dbN);


        this.m_dbU = new JTextField();
        this.m_dbU.setSize(128, 24);
        this.m_dbU.setText("MySQL Username");
        this.m_dbU.setLocation(4, 192);
        this.m_gui.getContentPane().add(this.m_dbU);


        this.m_dbP = new JPasswordField();
        this.m_dbP.setSize(128, 24);
        this.m_dbP.setText("Pass");
        this.m_dbP.setLocation(4, 224);
        this.m_gui.getContentPane().add(this.m_dbP);


        this.m_name = new JTextField();
        this.m_name.setSize(128, 24);
        this.m_name.setText("Your Server Name");
        this.m_name.setLocation(4, 260);
        this.m_gui.getContentPane().add(this.m_name);


        File f = new File("res/settings.txt");
        if (f.exists()) {
            try {
                Scanner s = new Scanner(f);
                this.m_dbS.setText(s.nextLine());
                this.m_dbN.setText(s.nextLine());
                this.m_dbU.setText(s.nextLine());
                this.m_dbP.setText(s.nextLine());
                this.m_name.setText(s.nextLine());
                s.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        this.m_gui.setVisible(true);
    }


    private void exit() {
        if ((m_boolGui) && (this.m_stop.isEnabled())) {
            JOptionPane.showMessageDialog(null, "You must stop the server before exiting.");
        } else {
            MySqlManager.getInstance().close();
            System.exit(0);
        }
    }


    private void getConsoleSettings() {
        ConsoleReader r = new ConsoleReader();
        System.out.println("Please enter the required information.");
        System.out.println("Database Server: ");
        m_dbServer = r.readToken();
        System.out.println("Database Name:");
        m_dbName = r.readToken();
        System.out.println("Database Username:");
        m_dbUsername = r.readToken();
        System.out.println("Database Password:");
        m_dbPassword = r.readToken();
        System.out.println("This server's IP or hostname:");
        m_serverName = r.readToken();
        System.out.println("Save info? (Y/N)");
        String answer = r.readToken();
        if ((answer.contains("y")) || (answer.contains("Y"))) {
            saveSettings();
        }
        System.out.println();
        System.err.println("WARNING: When using -nogui, the server should only be shut down using a master client");
    }


    private void loadSettings() {
        File settings = new File("res/settings.txt");
        if (settings.exists()) {
            try {
                Scanner s = new Scanner(settings);
                m_dbServer = s.nextLine();
                m_dbName = s.nextLine();
                m_dbUsername = s.nextLine();
                m_dbPassword = s.nextLine();
                m_serverName = s.nextLine();
                s.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }


    private void saveSettings() {
        try {
            if (m_boolGui) {
                m_dbServer = this.m_dbS.getText();
                m_dbName = this.m_dbN.getText();
                m_dbUsername = this.m_dbU.getText();
                m_dbPassword = new String(this.m_dbP.getPassword());
                m_serverName = this.m_name.getText();
            }


            File settings = new File("res/settings.txt");
            if (settings.exists()) {
                settings.delete();
            }
            PrintWriter settingsWriter = new PrintWriter(settings);
            settingsWriter.println(m_dbServer);
            settingsWriter.println(m_dbName);
            settingsWriter.println(m_dbUsername);
            settingsWriter.println(m_serverName);
            settingsWriter.println(" ");
            settingsWriter.flush();
            settingsWriter.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Since pokenet is licensed as GNU open source, they must keep their project based on pokenet open source as well, that is the law

(but they don't)
 
Initiate Mage
Joined
Sep 28, 2013
Messages
4
Reaction score
0
link download for this version ?? i don't see on the first post...
 
Newbie Spellweaver
Joined
Apr 2, 2007
Messages
72
Reaction score
4
Since pokenet is licensed as GNU open source, they must keep their project based on pokenet open source as well, that is the law

(but they don't)


Till the game is out of beta legally we don't have to release anything google uses this method to not release source code for gnu licences as well.
 
Banned
Banned
Joined
Aug 28, 2013
Messages
539
Reaction score
103
I I have these files [server + client pokemonium 1.6] in my possession.
I want them to share with you.
I have only one request. That someone, create a program to edit pokemon, trainer, items in the accounts of the players. That's it!
I promise to share the source of the server and client.

video:
<span id="result_box" class="" lang="en"><span class="hps">

Maybe you want to see from time 2:55

PD: Thanks poemonium comunity for the database :)
Lucila - [Release]pokenet+pokemonium (server+client) - RaGEZONE Forums
 
Back
Top