For someone that don't understand only.
Some Switch don't want parameter.
Don't set value (0 or 1) to switch.
If you want to set it to On, Write it down
If you want to set it to off, Comment it out.
AccountServer
DatabaseServer
CoreServer
Certifier
LoginServer
CacheServer
WorldServer
This is my Server-Start.bat
and this gift for THAI people only, Problem with playtime 06:00 -22:00
I don't know a correct section to post this, thus don't blame me.
I Only want to share my knowledge.
I used RZ 2-3 years, I want to gift my knowledge to all.
I am not a man who speak english.
:: Credit to me, Tikkaroe@RZ
:: I speak Thai very loud.
Edit: Neuz.exe StingTable Setting
Some Switch don't want parameter.
Don't set value (0 or 1) to switch.
If you want to set it to On, Write it down
If you want to set it to off, Comment it out.
AccountServer
Code:
AccountServer.ini (original sample)
======================
AddTail( -1, 1, "TEST", "127.0.0.1", 0, 1, 1000 );
AddTail( 1, 1, "TEST_1", "", 1, 1, 1000 );
DSN_NAME_LOGIN "login" // name of DNS (ACCOUNT_DBF)
DB_ADMIN_ID_LOGIN "sa" // or user that have authority
DB_PWD_LOGIN "" // db password for admin
DSN_NAME_LOG "log01" // name of DNS (LOGGING_01_DBF)
DB_ADMIN_ID_LOG "sa" // or user that have authority
DB_PWD_LOG "" // db password for admin
//DSN_NAME_BILLING "billing" // name of DNS (BILLING_01_DBF)
//DB_ADMIN_ID_BILLING "sa" // or user that have authority
//DB_PWD_BILLING "" // db password for admin
//AddChannel "" // String, for __LOG_PLAYERCOUNT_CHANNEL
MSG_VER "" // match Neuz.exe if not define default= "20040706"
//MAX nMaxConn // number, Max Connection
//BillingIP "" // LongString, GetBillingMgr BID_IP
//BillingPort nPort // number, GetBillingMgr BID_PORT
//BillingFreePass nFreePass // number, GetBillingMgr BID_FREEPASS
//BillingPWD "" // Stirng, GetBillingMgr
// switch, no have value, comment it to set it to false
TEST
SKIP_TRACKING // login, logout
//NOT_RELOADPRO
NOLOG
description
=======
AddTail( dwParent, dwID, "NAME", "Address", b18_NumberToBOOL, lEnable_longNumber, lMax_longNumber );
AddTail( -1, 1, "SERVER-1", "127.0.0.1", 0, 1, 200 ); Parent=-1, id=1, mean: server, name=SERVER-1, max_player=200
AddTail( 1, 1, "serv1, nel1", "127.0.0.1", 0, 1, 100 ); Parent=1, id=1, mean: channel, name=serv1, nel1, max_player=100
AddTail( 1, 2, "serv1, nel2", "127.0.0.1", 0, 1, 50 ); Parent=1, id=2, mean: channel, name=serv1, nel2, max_player=50
AddTail( 1, 3, "serv1, nel3", "127.0.0.1", 0, 1, 50 ); Parent=1, id=3, mean: channel, name=serv1, nel3, max_player=50
AddTail( -1, 2, "SERVER-2", "127.0.0.1", 0, 1, 500 ); Parent=-1, id=2, mean: server, name=SERVER-2, max_player=500
AddTail( 2, 1, "serv2, nel1", "127.0.0.1", 0, 1, 500 ); Parent=2, id=1, mean: channel, name=serv1, nel1, max_player=500
AddTail( 2, 2, "serv2, nel2", "127.0.0.1", 0, 1, 500 ); Parent=2, id=2, mean: channel, name=serv1, nel2, max_player=500
---------------------------------------
AccountServer.exe Load these:
- AccountServer.ini
- Flyff.b //ResAuth
- pmttd.ini
- IPCut.ini
AccountServer.exe
============
(original - src)
STRINGTABLE
BEGIN
IDS_LANG "0" <-- Change this to your lang code (resource\lang.h)
IDS_SUBLANG "0"
IDS_CODEPAGE "0"
IDS_2ND_PASSWORD "1"
END
DatabaseServer
Code:
databaseserver.ini (original sample)
======================
ResourceFolder "..\Resource" // sting, set current dir
Sys 1 // number, g_appInfo.dwSys
//dwId 1 // number g_appInfo.dwId
Account "127.0.0.1" // string,lpConnection
DSN_NAME_CHARACTER "character01" // DSN_NAME_CHARACTER01
DB_ADMIN_ID_CHARACTER "sa" // DB_ADMIN_ID_CHARACTER01
DB_PWD_CHARACTER "" // DB_ADMIN_PASS_CHARACTER01,"#^#^character"
DSN_NAME_LOG "log01" // string, set to DSN_NAME_LOG
DB_ADMIN_ID_LOG "sa" // string, set to DB_ADMIN_ID_LOG
DB_PWD_LOG "" // DB_ADMIN_PASS_LOG, "#^#^log"
// if __S1108_BACK_END_SYSTEM
//BACKENDSYSTEM // switch, set prj.m_bBackEndSystem = TRUE
//DSN_NAME_BACKSYSTEM "BACKENDSYSTEM" // string, set to DSN_NAME_BACKSYSTEM
//DB_ADMIN_ID_BACKSYSTEM "backend" // string, set to DB_ADMIN_ID_BACKSYSTEM
//DB_PWD_BACKEND "" // DB_ADMIN_PASS_BACKSYSTEM, "!@!@backend"
//ITEMUPDATE // switch,set prj.m_bItemUpdate = TRUE;
//DSN_NAME_ITEMUPDATE "ITEMUPDATE" // string, set to DSN_NAME_ITEMUPDATE
//DB_ADMIN_ID_ITEMUPDATE "" // string, set to DB_ADMIN_ID_ITEMUPDATE
//DB_PWD_ITEMUPDATE "" // DB_ADMIN_PASS_ITEMUPDATE, "#^#^item"
// switch, if you want to set it to false, comment it
// #ifdef __ITEM_REMOVE_LIST
//ConvStartItem // switch, set prj.SetConvMode( CONVER_ITEM_START );
//SAVE_TEXT // switch, set prj.SetConvMode( SAVE_TEXT );
//REMOVE_ITEM_ALL // switch, set prj.SetConvMode( REMOVE_ITEM_ALL );
//REMOVE_ITEM_ALL_PAY // switch, set prj.SetConvMode( REMOVE_ITEM_ALL_PAY );
//PIERCING_CONFIRM // switch, set prj.SetConvMode( PIERCING_CONFIRM );
//BankToItemSendTbl // switch, set m_bBankToItemSendTbl = TRUE;
//InventoryToItemSendTbl // switch, set m_bInventoryToItemSendTbl = TRUE;
//__ITEM_REMOVE0203 // switch, set s_bItemRemove = TRUE;
//REMOVE_INVALID_ITEM // switch, set s_bRemoveInvalidItem = TRUE;
//ITEM_ID // switch, set bToolItemId= TRUE; OutputDebugString( "ITEM_ID" );
//RESTORE_PET // switch, set bToolRestorePet = TRUE; OutputDebugString( "RESTORE_PET" );
//REMOVE_QUEST // switch, set bToolRemoveQuest = TRUE; OutputDebugString( "REMOVE_QUEST" );
DatabaseServer.exe
============
(original-src)
STRINGTABLE
BEGIN
IDS_LANG "1" <-- Change this to your lang code (resource\lang.h)
IDS_SUBLANG "0"
IDS_CODEPAGE "0"
IDS_2ND_PASSWORD "0"
END
CoreServer
Code:
CoreServer.ini (original sample)
===================
Sys 1 // number, dwSys
//dwId n // number g_dwId
Database "127.0.0.1" // Sting, database-address
Certifier "127.0.0.1" // certifier-address
PartyExpRate 1 // Floating number, s_fPartyExpRate
TEST // switch, s_bTest
0101 // unsign_long, key
{
1 0 0 30 30 00 00 // WorldID=1, topLeft.x=0, topLeft.y=0, size.cx=30, size.cy=30, m_wLeft=00, m_wRight=00 // all is number, m_rect.SetRect( x, y, x + cx, y + cy );
2 0 0 5 5 00 00 //พฦม๎ธฎพฦ
200 0 0 5 5 00 00
201 0 0 5 5 00 00
210 0 0 1 1 00 00 // ver 6
220 0 0 1 1 00 00 // ver 6
230 0 0 1 1 00 00 // ver 6
202 0 0 5 5 00 00 // ver 6
204 0 0 5 5 00 00 // ver 7
205 0 0 2 2 00 00 // ver 7
203 0 0 3 3 00 00 // ver 10
206 0 0 2 2 00 00 // ver 10
207 0 0 2 2 00 00 // ver 10
208 0 0 2 2 00 00 // ver 11
241 0 0 1 1 00 00 // ver 11
242 0 0 1 1 00 00 // ver 11
243 0 0 1 1 00 00 // ver 11
244 0 0 1 1 00 00 // ver 11
21 0 0 1 1 00 00 // ver 12
22 0 0 1 1 00 00 // ver 12
23 0 0 1 1 00 00 // ver 12
24 0 0 1 1 00 00 // ver 12
25 0 0 1 1 00 00 // ver 12
151 0 0 2 2 00 00 // ver 12
152 0 0 2 2 00 00 // ver 12
153 0 0 2 2 00 00 // ver 12
154 0 0 2 2 00 00 // ver 12
155 0 0 2 2 00 00 // ver 12
156 0 0 2 2 00 00 // ver 12
157 0 0 2 2 00 00 // ver 12
158 0 0 2 2 00 00 // ver 12
159 0 0 2 2 00 00 // ver 12
160 0 0 2 2 00 00 // ver 12
161 0 0 2 2 00 00 // ver 12
162 0 0 2 2 00 00 // ver 12
163 0 0 2 2 00 00 // ver 12
164 0 0 2 2 00 00 // ver 12
165 0 0 2 2 00 00 // ver 12
166 0 0 2 2 00 00 // ver 12
167 0 0 2 2 00 00 // ver 12
3 0 0 5 5 00 00 // ver 13, ฤฺถ๖ พฦภฯทฃตๅ
209 0 0 1 1 00 00 // ver 13, นฬดฯท๋
121 0 0 5 5 00 00 // ver 14
122 0 0 5 5 00 00 // ver 14
211 0 0 5 5 00 00 // ver 14
123 0 0 10 10 00 00 // ver 15
212 0 0 1 1 00 00 // ver 15, ผาว ฑๆตๅวฯฟ์ฝบ
213 0 0 1 1 00 00 // ver 15, ม฿ว ฑๆตๅวฯฟ์ฝบ
214 0 0 1 1 00 00 // ver 15, ด๋ว ฑๆตๅวฯฟ์ฝบ
124 0 0 5 5 00 00 // ทฏฝบฦผพฦ ภฯน , WI_INSTANCE_RUSTIA
125 0 0 5 5 00 00 // ทฏฝบฦผพฦ ธถฝบลอ, WI_INSTANCE_RUSTIA_1
}
CoreServer.exe
=========
(src)
STRINGTABLE
BEGIN
IDS_LANG "0" <-- Change this to your lang code (resource\lang.h)
IDS_SUBLANG "0"
IDS_CODEPAGE "0"
IDS_2ND_PASSWORD "1"
END
Certifier
Code:
Certifier.ini (original sample)
=================
Account "127.0.0.1" // String, lpConnection
DB_PWD_LOGIN "db-manager-pass" // String
//LIMIT nLimitation // number, Set Limitation
//WebCertURL "" // String, Web Certifier URL for Japan only
//HEARTBEAT // Switch, If uncomment hb.Init()
Certifier.exe
========
(src)
STRINGTABLE
BEGIN
IDS_LANG "0" <-- Change this to your lang code (resource\lang.h)
IDS_SUBLANG "0"
IDS_CODEPAGE "0"
IDS_2ND_PASSWORD "1"
END
LoginServer
Code:
LoginServer.ini (original sample)(change exe lang)
===============================
DB "127.0.0.1" // DB-ip-address
Core "127.0.0.1" // Core-ip-address
AddCache("127.0.0.1"); // dp-Login-Server
MSG_VER "" // must match Neuz.exe, if not set default = "20040706"
//switch
//NPROTECT // g_bNProtectAuth = TRUE;
LoginServer.exe
==========
(original - src)
STRINGTABLE
BEGIN
IDS_LANG "1" <-- Change this to your lang code (resource\lang.h)
IDS_SUBLANG "0"
IDS_CODEPAGE "0"
IDS_2ND_PASSWORD "0"
END
CacheServer
Code:
CacheServer.ini (original sample)
===================
Core "127.0.0.1" // String, Core-Address
Port 15400 // number, Core-Port
* Heartbeat hb( "10" ); // Virtual, I don't know this one.
*All ini set Lang Form Internal Exe
CacheServer.exe
==========
STRINGTABLE
BEGIN
IDS_LANG "0" <-- Change this to your lang code (resource\lang.h)
IDS_SUBLANG "0"
IDS_CODEPAGE "0"
IDS_2ND_PASSWORD "1"
END
WorldServer
Code:
WorldServer.ini (original sample)(change exe lang)
===================
ResourceFolder "..\Resource" // set current dir to this
Key 0101 //#ifdef __S8_SERVER_PORT Key%100 else Key/100
Core "127.0.0.1" //CoreAddress
DB "127.0.0.1" //DB-Address
Account "127.0.0.1" //Account-Address
LANG 4 // I don't found this, may be set in other sorce-code
Proc 2 // I don't found this, may be set in other sorce-code
//Heartbeat "" // don't know, how to use it
//respawn 50 // don't know, how to use it, g_eLocal.SetState( EVE_RESPAWN, (BYTE)s.GetNumber() );
// switch has no parameter, if not define = false
// Case sensitive, I not sure, you should be set like this
// if don't want to enable each, comment to disable it.
18 // set g_eLocal.SetState( EVE_18, 1 ); // 18ผผ ผญน๖
PK // EVE_PK
PKCOST // EVE_PKCOST
STEAL // EVE_STEAL
GUILDBANK // ENABLE_GUILD_INVENTORY
GUILDWAR // EVE_GUILDWAR
DROPITEM_REMOVE // EVE_DROPITEMREMOVE
SCHOOL // EVE_SCHOOL
GUILDCOMBAT // EVE_GUILDCOMBAT
WORMON // EVE_WORMON
RECOMMEND // EVE_RECOMMEND
GUILDCOMBAT1TO1 // EVE_GUILDCOMBAT1TO1
ARENA // EVE_ARENA
SECRETROOM // EVE_SECRETROOM
RAINBOWRACE // EVE_RAINBOWRACE
// Note: any of these can set in any order, it use while-loop to check till empty list
WorldServer.exe
==========
(original - src)
STRINGTABLE
BEGIN
IDS_LANG "0" <-- Change this to your lang code (resource\lang.h)
IDS_SUBLANG "0"
IDS_CODEPAGE "0"
IDS_2ND_PASSWORD "1"
END
This is my Server-Start.bat
Code:
@echo off
::#########################
:: Code by: tikkaroe, member of RageZone
:: Purpose:
:: 1.Start Game Server
:: 8.Stop Game Server
:: 9.Delete Log File
::
::#########################
::time to delay decrease/increase for your best (second)
set waittime=5
title=Starting FlyFF Server [V16 Ready] ....
:: Set Server-exe files
set task1=AccountServer.exe
set task2=DatabaseServer.exe
set task3=CoreServer.exe
set task4=Certifier.exe
set task5=LoginServer.exe
set task6=CacheServer.exe
set task7=WorldServer.exe
::set task7=WorldServer15.exe
::set task7=7.WorldServer.exe.exe
::set task7=7.WorldServer_summon.exe.exe
::set task7=7.WorldServer_Ultimate (Worldserver with Summon + Max LVL 200 ).exe.exe
:: Set folder to each
set dir1=Program
set dir2=Resource
set dir3=Program
set dir4=Program
set dir5=Program
set dir6=Program
set dir7=Resource
::Set title name
set name1=Account-Server
set name2=Database-Server
set name3=Core-Server
set name4=Certifier-Server
set name5=Login-Server
set name6=Cache-Server
set name7=World-Server
::set n=0
::set /a n=n+1
::set name%n%=Account-Server
::set dir%n%=%root%script
::set task%n%=AccountServer.exe
::set /a n=n+1
::set name%n%=Data-Server
::set dir%n%=%root%Resource
::set task%n%=DatabaseServer.exe
:: i don't use this
::set name7=Update-Server
::set dir7=6.WebServer
::set task7=WebMan.exe
:: don't edit
:top
cls
echo =========================
echo 1.Start-Server
echo 8.Stop-Server
echo 9.delete Log (for dekaron)
echo.
echo 0.exit
echo =========================
set cc=0
SET /P cc=Enter Number [1,2,3,...,0=Exit] :
if "%cc%"=="1" goto RunApp
if "%cc%"=="8" goto killApp
if "%cc%"=="9" goto dellog
if "%cc%"=="0" goto exit
::goto %cc%
goto top
:RunApp
set k=1
:RunAppStart
cls
echo.
:RunAppLoop
set name=!name%k%!
set dir=%CD%\!dir%k%!
set task=!task%k%!
if not defined task%k% goto RunAppEnd
echo start "%name%"...
pushd %dir%
start "%name%" /min "%task%"
popd
ping localhost -w 1000 -n %waittime% >nul
set /a k=k+1
goto RunAppLoop
:RunAppEnd
echo.
echo Server-Start complete...
::pause
goto top
:killApp
set n=1
:killstart
:: Under this not for edit, otherwise you know what to do
cls
:killloop
set f=!task%n%!
if not defined task%n% goto killend
echo.
echo Try to Close....%f%.......
echo.
taskkill /f /im "%f%"
set /a n=n+1
goto killloop
:killend
echo.
echo All task is closed now,
echo.
::pause
goto Top
:dellog
cls
del /s /q LogFiles\*.*
del /s /q event.log
echo.
echo Cleaning log Complete!
::pause
goto top
:exit
and this gift for THAI people only, Problem with playtime 06:00 -22:00
Code:
Change this in ACCOUNT_DBF::Store Procedure :: Login_STR
Line 49: [B]Change f18='1' to f18='9'[/B]
SELECT fError=CASE
-- WHEN session<>@isession OR sessionExpireDt<getdate() THEN '91'
WHEN BlockTime>=@curDate THEN '9'
ELSE '0' END,
fText= CASE
-- WHEN session<>@isession OR sessionExpireDt<getdate() THEN 'Session Expired'
WHEN BlockTime>=@curDate THEN 'Block' ELSE 'OK' END,
fCheck=tester,
f18='9' -- mo by tikkaroe, old value= 1, reson: age 18 check
-- Ver14. PCZoneIP
,fPCZone = @o_Grade
FROM ACCOUNT_TBL a INNER JOIN ACCOUNT_TBL_DETAIL b ON (a.account=b.account)
WHERE a.account=@iaccount
I don't know a correct section to post this, thus don't blame me.
I Only want to share my knowledge.
I used RZ 2-3 years, I want to gift my knowledge to all.
I am not a man who speak english.
:: Credit to me, Tikkaroe@RZ
:: I speak Thai very loud.
Edit: Neuz.exe StingTable Setting
Code:
NeUz.exe(winmain)
STRINGTABLE DISCARDABLE
BEGIN
IDS_SERVER_IP "127.0.0.1"<-- server ip
IDS_LANG "1"<-- your lang_code (resource\lang.h)
IDS_SUBLANG "0"
IDS_ENCRYPTPWD "1"<-- try it yourself
IDS_FAKEFULLMODE "1"
IDS_MSGVER "20100412"<--match server
IDS_CACHE_PORT "5400"<--match server
IDS_SHOUTLIMIT_SECOND "5000"
IDS_SHOUTLIMIT_COUNT "5"
IDS_CODEPAGE "1252"<-- your CodePage
IDS_2ND_PASSWORD "0"<-- try it yourself
END
Last edited: