Changing World's Name:
First, go to: odinms>src>net>sf>odinms>net>login>handler>Serverlistrequest.java
Second, look for this:
Change the first Zenith to your desired name and compile it.Code:c.getSession().write(MaplePacketCreator.getServerList(1, "Zenith", LoginServer.getInstance().getLoad())); //c.getSession().write(MaplePacketCreator.getServerList(1, "Zenith", LoginServer.getInstance().getChannels(), 1200)); //c.getSession().write(MaplePacketCreator.getServerList(2, "Zenith", LoginServer.getInstance().getChannels(), 1200)); //c.getSession().write(MaplePacketCreator.getServerList(3, "Zenith", LoginServer.getInstance().getChannels(), 1200)); c.getSession().write(MaplePacketCreator.getEndOfServerList());
Changing the world's pictures:
First, go to: odinms>src>net>sf>odinms>net>login>handler>Serverlistrequest.java
Second, look for this:
Under the first 1, which I bold it, change it to another number that recognized the picture of another world:Code:c.getSession().write(MaplePacketCreator.getServerList(1, "Zenith", LoginServer.getInstance().getLoad())); //c.getSession().write(MaplePacketCreator.getServerList(1, "Zenith", LoginServer.getInstance().getChannels(), 1200)); //c.getSession().write(MaplePacketCreator.getServerList(2, "Zenith", LoginServer.getInstance().getChannels(), 1200)); //c.getSession().write(MaplePacketCreator.getServerList(3, "Zenith", LoginServer.getInstance().getChannels(), 1200)); c.getSession().write(MaplePacketCreator.getEndOfServerList());
Go to MySQL, and under the character>world, change 0 to the number that you change it in Serverlistrequest.java.* 0 = Scania
* 1 = Bera
* 2 = Broa
* 3 = Windia
* 4 = Khania
* 5 = Bellocan
* 6 = Mardia
* 7 = Kradia
* 8 = Yellonde
* 9 = Demethos
* 10 (hex 0A) = Elnido
* 11 (hex 0B) = Kastia
* 12 (hex 0C) = Judis
* 13 (hex 0D) = Arkenia
* 14 (hex 0E) = Plana
* 15 (hex 0F) = Galicia
* 16 (hex 10) = Kalluna
* 17 (hex 11) = Stius
* 18 (hex 12) = Croa
* 19 (hex 13) = Zenith
* 20 (hex 14) = Medere (Korean)
There, you are done =P
Adding a Second world:
This is quite simple. Just go to:
odinms>src>net>sf>odinms>net>login>handler>Serverlistrequest.java and add this line before the "}"s
Code:c.getSession().write(MaplePacketCreator.getServerList(1, "Zenith", LoginServer.getInstance().getLoad())); //c.getSession().write(MaplePacketCreator.getServerList(1, "Zenith", LoginServer.getInstance().getChannels(), 1200)); //c.getSession().write(MaplePacketCreator.getServerList(2, "Zenith", LoginServer.getInstance().getChannels(), 1200)); //c.getSession().write(MaplePacketCreator.getServerList(3, "Zenith", LoginServer.getInstance().getChannels(), 1200)); c.getSession().write(MaplePacketCreator.getEndOfServerList());
So, after you have added your second world, your ServerListRequest.java should look like this:
And then, all you got to do is to compile it.Code:/* This file is part of the OdinMS Maple Story Server Copyright (C) 2008 Patrick Huy <patrick.huy@frz.cc> Matthias Butz <matze@odinms.de> Jan Christian Meyer <vimes@odinms.de> This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License version 3 as published by the Free Software Foundation. You may not use, modify or distribute this program under any other version of the GNU Affero General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ package net.sf.odinms.net.login.handler; import net.sf.odinms.client.MapleClient; import net.sf.odinms.net.AbstractMaplePacketHandler; import net.sf.odinms.net.login.LoginServer; import net.sf.odinms.tools.MaplePacketCreator; import net.sf.odinms.tools.data.input.SeekableLittleEndianAccessor; public class ServerlistRequestHandler extends AbstractMaplePacketHandler { @Override public void handlePacket(SeekableLittleEndianAccessor slea, MapleClient c) { c.getSession().write(MaplePacketCreator.getServerList(0, "Zenith", LoginServer.getInstance().getLoad())); //c.getSession().write(MaplePacketCreator.getServerList(1, "Zenith", LoginServer.getInstance().getChannels(), 1200)); //c.getSession().write(MaplePacketCreator.getServerList(2, "Zenith", LoginServer.getInstance().getChannels(), 1200)); //c.getSession().write(MaplePacketCreator.getServerList(3, "Zenith", LoginServer.getInstance().getChannels(), 1200)); c.getSession().write(MaplePacketCreator.getEndOfServerList()); c.getSession().write(MaplePacketCreator.getServerList(1, "Zenith", LoginServer.getInstance().getLoad())); //c.getSession().write(MaplePacketCreator.getServerList(1, "Zenith", LoginServer.getInstance().getChannels(), 1200)); //c.getSession().write(MaplePacketCreator.getServerList(2, "Zenith", LoginServer.getInstance().getChannels(), 1200)); //c.getSession().write(MaplePacketCreator.getServerList(3, "Zenith", LoginServer.getInstance().getChannels(), 1200)); c.getSession().write(MaplePacketCreator.getEndOfServerList()); } }
Double Hosting for multiple world
Not sure if this works, but you can give it a try =D
Go to MySQL Adminstrator -> User Adminstration ->Right click ROOT ->Add host in which user can connect ->Host name type your hoster's IP address.
Next, enable all schema privilege of your database.
Now, go to channel in MySQL QUery Browser. Type in the any channel ID, any number, SHA1 for release, and for the world, type in your 2nd world's picture number. (eg: Bera is 1.)
After that, go to channelconfig. Put any number for channelconfig, channel ID is the previous you have typed, and under name, put "net.sf.odinms.channel.net.interface" and under value, put your hoster's IP.
Now, send your pack to your hoster. All they got to do is to run world and channel.bat.
Please tell me if it work, or should there be any other configuration. thx =D
p/s: I am currently discovering if it is possible to have 2 different world with 2 different channels using MySQL and channel.properties
Credits:
juju987 for his file for adding another world =P
Some Question pondering you:
Q: How did my second world got its channels from?
A: The second world, if correctly from the script, get from your first world. So, it means that both world are sharing the same channel ports.
Q: How do I know which world did my characters was in?
A: Go to MySQL, and under character, world, you can see the number. Each number represents a world.
Please post any question here =P
Another project of The Amazing Odin's Dev Distribution!



Reply With Quote![[Tut]The Everything About Worlds! [Update: Test if multi-host world work!]](http://ragezone.com/hyper728.png)


