• 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.

Don't mistake with Server *.ini 'switch'

Junior Spellweaver
Joined
Nov 24, 2008
Messages
109
Reaction score
17
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
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:
Newbie Spellweaver
Joined
Nov 27, 2010
Messages
26
Reaction score
0
-shrugs- iuno.

Anyone that makes this big of a post/guide deserves a thank. Nice... release?
 
Back
Top