Go Back   EQEmulator Home > EQEmulator Forums > Archives > Archive::Support > Archive::Tutorials/Howto's

Archive::Tutorials/Howto's Archive area for Tutorials/Howto's posts that were moved here after an inactivity period of 90 days.

Reply
 
Thread Tools Display Modes
  #1  
Old 04-06-2004, 06:46 AM
bluejam
Hill Giant
 
Join Date: Apr 2004
Posts: 110
Default MiniLogin --- Host & Play on same PC *Step by Step*

--------------------------------------------------------------------------------------------------------------
READ THIS! OR I WON'T ANSWER YOUR QUESTIONS WHICH ARE ALREADY EXPLAINED HERE.
--------------------------------------------------------------------------------------------------------------


First of all: You'll need a lot of patience, because I don't think it will work for you on your first attempt, no matter which guide you follow. This tutorial aims at people who like to explore zones that they haven't visited yet, create their dream character or simply fool around in EQ, trying out different classes et cetera.


IMPORTANT: If your EQ is patched with the 16th June update, stop reading and choose another guide. That patch f*cks up Minilogin, which I use in this howto to set up the server.
I recommend reading The Big Lan Book simultaneously to this thread, to avoid wrong settings. There are some helpful links at the bottom of this page as well.



UPDATE: I've tried to spawn five zones with random ports (4662, 5663, 4673, 9673 and 2406) and it worked! I am certain that you can choose any port (besides the standard ports which are reserved for your ISP, I believe 80 is one of those) you like, since it connects through Minilogin (LAN) to the server.

UPDATE: If you don't want to know how to compile your own database, download Compiled.database.rar and extract it to your mysql\bin folder. Rename the folder, or change the name in "db.ini" (if you have no idea what I'm talking about, keep on reading, you'll see). "Test" database was created with:


MW055_alpha1.sql
MW055_alpha_02.sql
loot_update.sql
npc_types_update.sql
dumpeditems.sql
doorupdate-03-15-04.sql





Step 1: Downloads

UPDATE: Works with 0.5.6

[1.] MySQL 4.0.18

[2.] EQEmu 0.5.6 --- Download EQEmu-0.5.6-Win32.zip and EQEmu-0.5.6-Configuration.zip

[3.] testbackup.rar (this is my backup database *.sql file)

[4.] EQEmu.missing.files.rar




Step 2: Preparing the basis


[1.] Install MySQL to c:\mysql. It will eventually ask you for an username and password -> THESE ARE IMPORTANT! WRITE THEM DOWN IF NECCESARY! Example used in this guide,
User: MySQLuser
Pass: MySQLpass

[2.] Extract EQEmu-0.5.6-Win32.zip, EQEmu-0.5.6-Configuration.zip and EQEmu.missing.files.rar to c:\EQEmu

EQEmu folder now contains:
Quote:
[cfg]
[documents]
[Item Editor]
addon.ini
Boot5zones.bat
db.ini
db.sql
EMuShareMem.dll
eqtime.cfg
LoginServer.ini
MiniLogin.exe
MiniLoginAccounts.ini
spells_en.txt
spells_us.txt
Update_From_0.5.2.zip
World.exe
Zone.exe
[3.] Copy testbackup.sql (extracted from rar) to c:\mysql\bin

[4.] Create a mysql.bat file (right click desktop > new > Text document > name it mysql.bat) and insert
Quote:
cd\mysql\bin
mysql -u root mysql
Always start this when you need to work with your database. Run it now and proceed to step 3.




Step 3: Creating the database


UPDATE: You can accelerate the database sourcing by doing following (thanks to Monrezz)
Quote:
Useful to create a small bat file, or when you load mysql use the following command line:

mysql -b -u root -p eq

Replace root with the username found in LoginServer.ini, and replace eq with the name of your database (usually eq). On the next line you'll be prompted for a password, enter the one in LoginServer.ini. Then when you get an error it won't beep. makes sourcing around 100,000x faster

Quote:
mysql> grant all privileges on *.* to MySQLuser@localhost identified by 'MySQLpass' with grant option;
Query OK, 0 rows affected (0.22 sec)

mysql> create database eq;
Query OK, 1 row affected (0.00 sec)

mysql> use eq;
Database changed
mysql> source testbackup.sql;

Query OK, 0 rows affected (0.03 sec)
. . .
Query OK, 1 row affected (0.01 sec)

mysql> INSERT INTO account (id, name, charname, packencrypt, sharedplat, password,
status, lsaccount_id, gmspeed, revoked) VALUES (1, 'eqemu', '', '', 0, 'eqemu', 250, NULL, 0, 0);
Query OK, 1 row affected (0.00 sec)

mysql> exit

Note: INSERT INTO account (id, name, charname, packencrypt, sharedplat, password,
status, lsaccount_id, gmspeed, revoked) VALUES (1, 'eqemu', '', '', 0, 'eqemu', 250, NULL, 0, 0);

These are 4 single ' !!




4. Changing EQEmu settings


a) Boot5zones.bat

Quote:
REM: ****READ THE FOLLOWING REMARKS****

REM: There are other remarks in the original file, but I want to use this space for
REM: comments. You can erase everything in your Boot5zones.bat and paste the whole quote.
REM:
REM:
REM: IMPORTANT: Delete all spaces behind every line.
REM: -> If the cursor doesn't jump into the next line when you
REM: hit the right arrow key at the end of a line, hit backspace until
REM: it reaches the last character.

REM:
REM:--------------Start-----------------------
@echo off

if NOT exist spells_us.txt goto NOSPELL

start zone . localhost 7995 localhost
start zone . localhost 7996 localhost
start zone . localhost 7997 localhost
start zone . localhost 7998 localhost
start zone . localhost 7999 localhost
exit
cls

:NOSPELL
echo You did not copy the spells_en.txt from your everquest directory to this one. Please do so or zones will crash on startup.
PAUSE

REM:---------------END------------------------
b) db.ini

Quote:
[Database]
host=localhost
user=MySQLuser
password=MySQLpass
database=eq
compression=off
c) LoginServer.ini

Quote:
# READ README.TXT
[LoginServer]
loginserver=localhost
loginport=5999
worldname=my minilogin test
worldaddress=localhost
locked=false
account=eqemu
password=eqemu


[WorldServer]
Defaultstatus=0
Unavailzone=

[LoginConfig]
ServerMode=Standalone
ServerPort=5999
UplinkAddress=
UplinkPort=
UplinkAccount=
UplinkPassword=

[ChatChannelServer]
ChatChannelServer=localhost

d) MiniLoginAccounts.ini

Quote:
localhost eqemu eqemu
IMPORTANT: You HAVE to add a space after this line:
Quote:
localhost eqemu eqemu_ <-- that's supposed to be a space
e) eqhost.txt in your Everquest folder

Quote:
[Registration Servers]
{
"localhost:5999"
}
[Login Servers]
{
"localhost:5999"
}
IMPORTANT: The port behind localhost: has to be the same as the one in LoginServer.ini.




5. Starting the server


a) Running Minilogin.exe
Quote:
LoginServer.ini read.
MiniLoginAccounts.ini read.
Server mode: Standalone
Login server listening on port:5999
b) Running World.exe
Quote:
[Status] CURRENT_WORLD_VERSION:EQEMu 0.5.6
[Status] Loading variables..
[Status] Loading zones..
[Status] Loading items..
[Status] EMuShareMem loaded
[Status] Loading items from database: count=26679, max id=68199
[Status] ./LoginServer.ini read.
[Status] Loading guild ranks..
[Status] Loading ./addon.ini..
[Status] Loading EQ time of day..
[Status] Reboot zone modes ON
[Status] Deleted 0 stale player corpses from database
[Status] Deleted 0 stale player backups from database
Warning: You need to get laid...
TCP listening on: localhost:9000
World server listening on: localhost:9000
Connected to LoginServer: localhost:5999
7982 New TCP connection: 127.0.0.1:2178
New zoneserver: #1 127.0.0.1:2178
Zoneserver SetConnectInfo: 127.0.0.1:2178: localhost:7995
c) Running Boot5zones.bat
Quote:
[Status] CURRENT_ZONE_VERSION: EQEMu 0.5.6
[Status] Loading Variables
[Status] Loading zone names
[Status] Loading items
[Status] EMuShareMem loaded
[Status] Loading npcs
[Status] Loading NPCTypes from database...
[Status] Loading npc faction lists
[Status] Loading NPC Faction Lists from database...
[Status] Loading loot tables
[Status] Loading Loot tables from database...
[Status] Loading doors
[Status] Loading Doors from database...
[Status] FileLoadSPDat() Loading spells from ./spells_us.txt
[Status] FileLoadSPDat() spells loaded: 5020
[Status] Loading guilds
[Status] Loading factions
[Status] Loading corpse timers
[Status] Loading what ever is left
[Status] Loading commands
[Status] command_init(): Warning: Command 'help' defaulting to access level 0!
[Status] command_init(): Warning: Command 'version' defaulting to access level 0
!
[Status] command_init(): Warning: Command 'serversidename' defaulting to access
level 0!
[Status] command_init(): Warning: Command 'loc' defaulting to access level 0!
[Status] command_init(): Warning: Command 'flag' defaulting to access level 0!
[Status] command_init(): Warning: Command 'si' defaulting to access level 0!
[Status] 160 commands loaded
[Status] Entering sleep mode
Connected to worldserver: localhost:9000

That's it. Your server's running right now. Make a shortcut to eqgame.exe and add "patchme" without the quotes to the 'Target' line. Run it. Log in using the info user: eqemu pw: eqemu. You should see your server "my minilogin test server". Hit Start, create a character and join your world. Type "#help" in the chat line for all ServerOP commands.


You're in your world now.



Helpful links:

Troubleshooting: Various errors
Some 1017 Error being fixed
Usual 1017 Error fix
1017 Error with WinXP


If you get database errors (2006, 2003 says something about database got lost or disconnected I believe) it's often fixed by ending mysql (taskmanager, mysqlsomething-nt.exe) and mysqladmin (tray icon, next to the clock) and restarting winmysqladmin.exe in the c:\mysql\bin folder.
Reply With Quote
  #2  
Old 04-06-2004, 05:25 PM
Xabob's Avatar
Xabob
Discordant
 
Join Date: Feb 2004
Location: On your desktop
Posts: 387
Default

Bump!!!!!

Works!!!
__________________
[12:38] <RangerDown> I watched Napoleon Dynamite the other day
[12:39] <Xabob> omg
[12:39] <Xabob> want me to shoot you now?
[12:39] <RangerDown> and the first words out of my mouth at the start were:
[12:39] <RangerDown> Hey I bet Rog looks like that

Reply With Quote
  #3  
Old 04-07-2004, 12:54 PM
Yeormom
Discordant
 
Join Date: Apr 2004
Location: 127.0.0.1
Posts: 402
Default

This topic helped fix all my issues that were left at hand creating a beautifully working minilogin. If you plan on playing on another server other than the server hosting EQemu, change worldaddress to the computers IP address as well as the localhost in the eqhost.txt on clients and bat files and you've got a LANable minilogon. Great work. I think this deserves a sticky!
__________________
Yeorwned
Bane of Life [Custom Classic/PvP]
Reply With Quote
  #4  
Old 04-09-2004, 06:19 AM
KhaN's Avatar
KhaN
Dragon
 
Join Date: Mar 2004
Location: France, Bordeaux.
Posts: 677
Default

Quote:
[5.] EQEmu.rar
Updated files on my Website to EQEmu 0.5.5 and changed the standard of the file, fix the link. BTW, files standart wont change in the future.
__________________

Reply With Quote
  #5  
Old 04-10-2004, 05:01 AM
bluejam
Hill Giant
 
Join Date: Apr 2004
Posts: 110
Default

updated.
Reply With Quote
  #6  
Old 04-10-2004, 11:34 AM
bluejam
Hill Giant
 
Join Date: Apr 2004
Posts: 110
Default

Quote:
Originally Posted by Yeormom
This topic helped fix all my issues that were left at hand creating a beautifully working minilogin. If you plan on playing on another server other than the server hosting EQemu, change worldaddress to the computers IP address as well as the localhost in the eqhost.txt on clients and bat files and you've got a LANable minilogon. Great work. I think this deserves a sticky!
Thanks to Yeormom.
For an EQEmu LAN server (only hosting the game) change the following settings:


eqhost.txt on client pc:

Quote:
[Registration Servers]
{
"192.168.1.1:5999"
}
[Login Servers]
{
"192.168.1.1:5999"
}

Loginserver.ini on host:

Quote:
# READ README.TXT
[LoginServer]
loginserver=192.168.1.1
loginport=5999
worldname=my minilogin test
worldaddress=192.168.1.1
locked=false
account=eqemu
password=eqemu


[WorldServer]
Defaultstatus=0
Unavailzone=

[LoginConfig]
ServerMode=Standalone
ServerPort=5999
UplinkAddress=
UplinkPort=
UplinkAccount=
UplinkPassword=

db.ini on host:

Quote:
[Database]
host=localhost
user=MySQLuser
password=MySQLpass
database=eq
compression=off

Boot5zones.bat on host:

Quote:
REM:--------------Start-----------------------
@echo off

if NOT exist spells_us.txt goto NOSPELL

start zone . 192.168.1.1 7995 192.168.1.1
start zone . 192.168.1.1 7996 192.168.1.1
start zone . 192.168.1.1 7997 192.168.1.1
start zone . 192.168.1.1 7998 192.168.1.1
start zone . 192.168.1.1 7999 192.168.1.1

exit
cls

:NOSPELL
echo You did not copy the spells_en.txt from your everquest directory to this one. Please do so or zones will crash on startup.
PAUSE

REM:---------------END------------------------
Reply With Quote
  #7  
Old 04-10-2004, 12:17 PM
Yeormom
Discordant
 
Join Date: Apr 2004
Location: 127.0.0.1
Posts: 402
Default

Yes, except do not change localhost on db.ini if the database is n the same server as eqemu and the minilogon. This will allow you to have a computer doing nothing but hosting eqemu and minilog and then allow to you to play EQ from another computer. We used this method this past weekend at a LAN party and it worked wonderfully. The file db.ini will almost always be static unless the MySQL is on another computer other than the computer hosting EQemu.
__________________
Yeorwned
Bane of Life [Custom Classic/PvP]
Reply With Quote
  #8  
Old 04-11-2004, 04:31 AM
xtestx
Sarnak
 
Join Date: Mar 2004
Posts: 50
Default

Quote:
mysql> INSERT INTO account (id, name, charname, packencrypt, sharedplat, password,
status, lsaccount_id, gmspeed, revoked) VALUES (1, 'eqemu', '', '', 0, 'eqemu', 250, NULL, 0, 0);
Query OK, 1 row affected (0.00 sec)

where it says 'eqemu' and 'eqemu'

is that suppose to be my eqemu acct name and eq emu acct pw?
Reply With Quote
  #9  
Old 04-11-2004, 06:22 AM
bluejam
Hill Giant
 
Join Date: Apr 2004
Posts: 110
Default

That info doesn't have to match your EQEmu board user/password. You can choose any combination you like.

But, I advise you to change the settings in LoginServer.ini (account=... password=...) and MiniLoginAccounts.ini to the user and password of your choice as well.
Reply With Quote
  #10  
Old 04-15-2004, 01:08 PM
papi2k
Fire Beetle
 
Join Date: Jun 2003
Posts: 16
Default

my server DONT show when i log in
Reply With Quote
  #11  
Old 04-15-2004, 09:30 PM
Slaytana
Fire Beetle
 
Join Date: Nov 2003
Posts: 5
Default

OK I have been fighting with this minilogin thing for quite a bit now and i can always get the server started fine. I get to the login screen fine, and to the char select screen fine...But after i create my char it get a windows error that says this program caused an illegal operation and will be shut down........ and on the details is this.....

WORLD caused an invalid page fault in
module WORLD.EXE at 017f:0044c744.
Registers:
EAX=6800478d CS=017f EIP=0044c744 EFLGS=00010206
EBX=00000000 SS=0187 ESP=0072dd68 EBP=0072ea60
ECX=004201c4 DS=0187 ESI=004201c4 FS=2abf
EDX=8bc30000 ES=0187 EDI=00a63050 GS=0000
Bytes at CS:EIP:
83 b8 00 02 00 00 02 75 3c 50 e8 2d fd ff ff 83
Stack dump:
0072df08 0042492b 004201c4 0072f550 0072ea18 00a63050 00a63330 004c8318 00000000 004201c4 35303123 55203a34 6f6e6b6e 63206e77 6d756c6f 6227206e


my minilogin lookslike this :
LoginServer.ini read.
MiniLoginAccounts.ini read.
Server mode: Standalone
Login server listening on port:5999


my world.exe looks like this :
[Status] CURRENT_WORLD_VERSION:EQEMu 0.5.5
[Status] Loading variables..
[Status] Loading zones..
[Status] Loading items..
[Status] EMuShareMem loaded
[Status] Loading items from database: count=26619, max id=68199
[Status] ./LoginServer.ini read.
[Status] Loading guild ranks..
[Status] Loading ./addon.ini..
[Status] Loading EQ time of day..
[Status] Deleted 0 stale player corpses from database
[Status] Deleted 0 stale player backups from database
HELP I WORK IN THE EQEMU SWEATSHOP, YOU'RE MY ONLY HOPE!
TCP listening on: localhost:9000
World server listening on: localhost:9000
Connected to LoginServer: localhost:5999
82720 New TCP connection: 127.0.0.1:1399
New zoneserver: #1 127.0.0.1:1399
Zoneserver SetConnectInfo: 127.0.0.1:1399: localhost:7995
192570 New client from ip: 127.0.0.1 port: 1402
Logged in: Local: eqemu
Received unknown opcode: 0x02ee size:0 bytes
Name approval request for:Gradulas race:8 class:1
Character creation request from LS#0 (127.0.0.1:1402) :
Name: Gradulas
Race: 8 Class: 1 Gender: 0 Deity: 396 Start zone: 8
STR STA AGI DEX WIS INT CHA Total
125 100 75 90 83 60 45 578
Face: 6 Eye colors: 4 4
Hairstyle: 1 Haircolor: 255
Beard: 255 Beardcolor: 6
Validating char creation info...
Found 0 errors in character creation request


And my boot5zones looks like :

[Status] CURRENT_ZONE_VERSION: EQEMu 0.5.5
[Status] Loading Variables
[Status] Loading zone names
[Status] Loading items
[Status] EMuShareMem loaded
[Status] Loading npcs
[Status] Loading NPCTypes from database...
[Status] Loading npc faction lists
[Status] Loading NPC Faction Lists from database...
[Status] Loading loot tables
[Status] Loading Loot tables from database...
[Status] Loading doors
[Status] Loading Doors from database...
[Status] FileLoadSPDat() Loading spells from ./spells_us.txt
[Status] FileLoadSPDat() spells loaded: 5020
[Status] Loading guilds
[Status] Loading factions
[Status] Loading corpse timers
[Status] Loading what ever is left
[Status] Loading commands
[Status] command_init(): Warning: Command 'help' defaulting to access level 0!
[Status] command_init(): Warning: Command 'version' defaulting to access level 0
!
[Status] command_init(): Warning: Command 'serversidename' defaulting to access
level 0!
[Status] command_init(): Warning: Command 'loc' defaulting to access level 0!
[Status] command_init(): Warning: Command 'flag' defaulting to access level 0!
[Status] command_init(): Warning: Command 'si' defaulting to access level 0!
[Status] 160 commands loaded
[Status] Entering sleep mode
Connected to worldserver: localhost:9000
127.0.0.1:9000: TCPConnection::RecvData(): Connection timeout
Connected to worldserver: localhost:9000

Paweeze help Me hehe Im soooo close ,and ive looked all over and deleted everything a couple times and i alway come up with this :/ The server seems to be starting just fine. But that error after char select has me stumped . Thanks ahead of time for any suggestions And btw ive scoured this website over and over unless i just missed something ,and didnt find any posts similar to this world.exe crashin thing :/ Slaytana
Reply With Quote
  #12  
Old 04-17-2004, 01:46 AM
bluejam
Hill Giant
 
Join Date: Apr 2004
Posts: 110
Default

Hmm, that's interesting, indeed. Which Windows version do you
use?

Edit1: I believe I had that error as well once. Did you use the MW (from this tut) or Myra's database, because I wanted to get Myra's to work for me, but it always resulted in a world.exe crash if I recall correctly.

Edit2: papi2k> paste your world.exe, zone.exe (boot5zones.bat) and minilogin.exe output, please. Otherwise I can't help you.
Reply With Quote
  #13  
Old 04-17-2004, 08:36 AM
papi2k
Fire Beetle
 
Join Date: Jun 2003
Posts: 16
Default

edit: updated the serv, now it wont show again .. grr



Quote:
World.exe
[Status] CURRENT_WORLD_VERSION:EQEMu 0.5.6
[Status] Loading variables..
[Status] Loading zones..
[Status] Loading items..
[Status] EMuShareMem loaded
[Status] Loading items from database: count=26679, max id=68199
[Error] [ChatChannelServer] block not found in ./LoginServer.ini
[Status] Loading guild ranks..
[Status] Loading ./addon.ini..
[Status] Loading EQ time of day..
[Status] Reboot zone modes ON
[Status] Deleted 0 stale player corpses from database
[Status] Deleted 0 stale player backups from database
Warning: You need to get laid...
TCP listening on: 192.168.1.100:9000
World server listening on: 192.168.1.100:9000
10024 New TCP connection: 192.168.1.100:1835
10024 New TCP connection: 192.168.1.100:1836
10024 New TCP connection: 192.168.1.100:1838
10024 New TCP connection: 192.168.1.100:1837
10024 New TCP connection: 192.168.1.100:1839
New zoneserver: #1 192.168.1.100:1837
New zoneserver: #2 192.168.1.100:1838
New zoneserver: #3 192.168.1.100:1836
New zoneserver: #4 192.168.1.100:1835
Zoneserver SetConnectInfo: 192.168.1.100:1835: 192.168.1.100:7999
Zoneserver SetConnectInfo: 192.168.1.100:1836: 192.168.1.100:7995
Zoneserver SetConnectInfo: 192.168.1.100:1838: 192.168.1.100:7996
Zoneserver SetConnectInfo: 192.168.1.100:1837: 192.168.1.100:7997
New zoneserver: #5 192.168.1.100:1839
Zoneserver SetConnectInfo: 192.168.1.100:1839: 192.168.1.100:7998
Quote:
Boot5zones
[Status] CURRENT_ZONE_VERSION: EQEMu 0.5.6
[Status] Loading Variables
[Status] Loading zone names
[Status] Loading items
[Status] EMuShareMem loaded
[Status] Loading npcs
[Status] Loading npc faction lists
[Status] Loading loot tables
[Status] Loading doors
[Status] FileLoadSPDat() Loading spells from ./spells_us.txt
[Status] FileLoadSPDat() spells loaded: 5020
[Status] Loading guilds
[Status] Loading factions
[Status] Loading corpse timers
[Status] Loading what ever is left
[Status] Loading commands
[Status] command_init(): Warning: Command 'help' defaulting to access level 0!
[Status] command_init(): Warning: Command 'version' defaulting to access level 0
!
[Status] command_init(): Warning: Command 'serversidename' defaulting to access
level 0!
[Status] command_init(): Warning: Command 'loc' defaulting to access level 0!
[Status] command_init(): Warning: Command 'flag' defaulting to access level 0!
[Status] command_init(): Warning: Command 'si' defaulting to access level 0!
[Status] 160 commands loaded
[Status] Entering sleep mode
Connected to worldserver: 192.168.1.100:9000
Quote:
Minilogin
LoginServer.ini read.
MiniLoginAccounts.ini read.
Server mode: Standalone
Login server listening on port:5999
i have tried any other things that i got the 5.5 server to work with yesterday
Reply With Quote
  #14  
Old 04-17-2004, 10:38 PM
pray
Fire Beetle
 
Join Date: Apr 2004
Posts: 7
Default

Can u guys zone ? i got my server worked tonite but some how i cant zone , each time i try to zone it just said zone is not ready for visitor please try again few moments later, /cry
Reply With Quote
  #15  
Old 04-18-2004, 01:42 AM
bluejam
Hill Giant
 
Join Date: Apr 2004
Posts: 110
Default

Does it work now papi2k?

pray> check your PM.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 06:55 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3