[Help Thread] Please post your questions here.

12/02/2015 22:43 Space()#5311
Quote:
Originally Posted by thndr View Post
Yes



All of them except 1433 or whatever you set as database port.

You should read the guide on server security linked in the tools thread if you are opening the database port for remote management.
Thank man :) but (inbound/outbound) ?
12/03/2015 00:12 ThunderNikk#5312
Well actually anything that is just gameserver to auth shouldn't need to go through firewall just client to auth and client to gameserver and yes you will need inbound and outbound rules for both as traffic will be bidirectional.

auth.clients.port:
upload.clients.port:
upload.gameserver.port:
S io.port:

Should all be opened although I am not positive if you need the upload.gameserver.port: in firewall rules or not.

auth.gameserver.port:

This one and the database port can be left out of the firewall rules if both auth and gameserver are going to be run on the same server and you will not be doing remote management.
12/03/2015 15:12 アルカード#5313
Ok so i added new wings to my server,this are steps i done

Made sql query and execute it in sql.
Made new resources for rdb.itemresources and rdb.stringresources
I hash my nx3,dds and icon file.
i added icons to 02_item.spr,then hash 02.item.spr

then i took all hashed files and place in my rappelz resource folder.

Here is my query

Once i log in,i try to spawn this wings,I can see them for 2-3 seccond and they get removed.


Can anybody point my mistake?
12/03/2015 16:48 InkDevil#5314
Quote:
I've marked the point where I think the mistake could be.
isn't that value for decrease_type?
Not sure if that's the reason, but you could try if it's still happening when you set it to '0'
12/03/2015 18:12 gresk3k#5315
hello guys, today I write for help since I have made my own server with files rappelz 9.1 revolution.

Everything works fine, you can logging, create character, leveling etc ... the problem is that:

From one moment to another, without warning, trying to re-enter to rappelz, the account is crashed, all accounts, mine and all that are created, then inside the game i give an error message:

--- Notice: ??????? ??????? ?????. ??????? ??? ???????? ??? ????. (1) ---

And I can not use the keyboard, the bar of skills not charged and I can only move with the mouse.
attached a screenshot.
hopefully prompt help, thanks.

IMAGE ---> [Only registered and activated users can see links. Click Here To Register...]

:bandit:
12/03/2015 18:19 TheOnlyOneRaskim#5316
Quote:
Originally Posted by gresk3k View Post
hello guys, today I write for help since I have made my own server with files rappelz 9.1 revolution.

Everything works fine, you can logging, create character, leveling etc ... the problem is that:

From one moment to another, without warning, trying to re-enter to rappelz, the account is crashed, all accounts, mine and all that are created, then inside the game i give an error message:

--- Notice: ??????? ??????? ?????. ??????? ??? ???????? ??? ????. (1) ---

And I can not use the keyboard, the bar of skills not charged and I can only move with the mouse.
attached a screenshot.
hopefully prompt help, thanks.

IMAGE ---> [Only registered and activated users can see links. Click Here To Register...]

:bandit:
Edit: i guess you followed all steps from the 9.1 guide of smoke.

But in the smps for the shopbox there was a huge mistake of declaration.

@NO_Total_JP was declared as INT but it has to be BIGINT, because of the amount wich this value can reach

execute this script

Code:
USE [Telecaster]
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[smp_check_purchased_item]
@IN_ACCOUNT_ID			INT,
@IN_CHARACTER_ID		INT,
@OUT_TOTAL_ITEM_COUNT	INT		OUTPUT,
@OUT_NEW_ITEM_COUNT		INT		OUTPUT,
@OUT_PREMIUM_TICKET		INT		OUTPUT,
@OUT_PREMIUM_REST_TIME	INT		OUTPUT,
@OUT_STAMINA_REGEN_TIME	INT		OUTPUT

 
AS
SET NOCOUNT ON

	SET @OUT_PREMIUM_TICKET  = 0
	SET @OUT_PREMIUM_REST_TIME = 0
	SET @OUT_STAMINA_REGEN_TIME = 0

	SELECT @OUT_PREMIUM_TICKET = COUNT(*), @OUT_PREMIUM_REST_TIME = DATEDIFF( second, GETDATE(), MAX( valid_time ) ) FROM dbo.PaidItem WHERE taken_account_id = @IN_ACCOUNT_ID AND item_code = 910000 AND valid_time > GETDATE() AND isCancel = 0

	IF @OUT_PREMIUM_TICKET < 1
	BEGIN
		SET @OUT_PREMIUM_REST_TIME = 0

		DECLARE @LOGOUT_TIME		DATETIME
		SET @LOGOUT_TIME = GETDATE()

		SELECT @LOGOUT_TIME = logout_time FROM Character WITH (NOLOCK) WHERE account_id = @IN_ACCOUNT_ID AND sid = @IN_CHARACTER_ID
		SELECT @OUT_STAMINA_REGEN_TIME = DATEDIFF( minute, @LOGOUT_TIME, MAX( valid_time ) ) FROM dbo.PaidItem WHERE taken_account_id = @IN_ACCOUNT_ID AND item_code = 910000 AND valid_time > @LOGOUT_TIME AND isCancel = 0

		IF @OUT_STAMINA_REGEN_TIME < 1 OR @OUT_STAMINA_REGEN_TIME IS NULL
		BEGIN
			SET @OUT_STAMINA_REGEN_TIME = 0
		END

	DECLARE @NO_LV INT
	DECLARE @NO_Total_JP BIGINT
	SELECT @NO_LV = MAX(lv), @NO_Total_JP = MAX(total_jp) from character WITH(NOLOCK) WHERE account_id = @IN_ACCOUNT_ID AND Name not like '@%'

	IF  @NO_LV < 30 AND @NO_Total_JP < 100000
	BEGIN
	SET @OUT_PREMIUM_TICKET  = 1
	SET @OUT_PREMIUM_REST_TIME = 3600 * 5
	END

END

	SELECT @OUT_TOTAL_ITEM_COUNT = COUNT(*) from dbo.PaidItem WHERE taken_account_id = @IN_ACCOUNT_ID AND item_code <> 910000 AND rest_item_count > 0  AND valid_time > GETDATE() AND isCancel = 0
	SELECT @OUT_NEW_ITEM_COUNT   = COUNT(*) from dbo.PaidItem WHERE taken_account_id = @IN_ACCOUNT_ID AND item_code <> 910000 AND rest_item_count > 0  AND confirmed = 0 AND valid_time > GETDATE() AND isCancel = 0

RETURN @@ERROR
12/03/2015 20:08 darkjorg#5317
This Script worked correctly, thank you dude..

I am the Server 9.1 Installer it's a pleasure to have your help and make it possible. another big question is make go on the "Icon Guild Upload".

I tried to configured .. this line from smoke guide also.

Is Auth- Common

#Upload configuration, use "upload" directory for guild icons
upload.dir=D:\SERVERFILES\upload\guild\
upload.clients.ip=EXTERNAL IP --Original is 0.0.0.0
upload.clients.port=32214
#Use port 5000 for the guild icon mini webserver (the listen ip is also upload.clients.ip)
upload.clients.webport:5000

#Where the gameserver will connect (this is default values)
upload.gameserver.ip:127.0.0.1
upload.gameserver.port:4616


In GameServer

S:io.upload.ip:127.0.0.1
S:io.upload.port:4616
S:game.guild_icon_base_url:[Only registered and activated users can see links. Click Here To Register...]
S:game.url_list:guild.url|[Only registered and activated users can see links. Click Here To Register...] IP|web_download_port|0|shop.url|[Only registered and activated users can see links. Click Here To Register...] IP|guild_icon_upload.port|4617

Aparently this isn't correct I tried to do it in several ways... but weren't correct.. Already I had IIS service installed .. and I can't find in any place the corrects parameters , could you dude help me.

Thank Before hands

Quote:
Originally Posted by TheOnlyOneRaskim View Post
Edit: i guess you followed all steps from the 9.1 guide of smoke.

But in the smps for the shopbox there was a huge mistake of declaration.

@NO_Total_JP was declared as INT but it has to be BIGINT, because of the amount wich this value can reach

execute this script

Code:
USE [Telecaster]
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[smp_check_purchased_item]
@IN_ACCOUNT_ID			INT,
@IN_CHARACTER_ID		INT,
@OUT_TOTAL_ITEM_COUNT	INT		OUTPUT,
@OUT_NEW_ITEM_COUNT		INT		OUTPUT,
@OUT_PREMIUM_TICKET		INT		OUTPUT,
@OUT_PREMIUM_REST_TIME	INT		OUTPUT,
@OUT_STAMINA_REGEN_TIME	INT		OUTPUT

 
AS
SET NOCOUNT ON

	SET @OUT_PREMIUM_TICKET  = 0
	SET @OUT_PREMIUM_REST_TIME = 0
	SET @OUT_STAMINA_REGEN_TIME = 0

	SELECT @OUT_PREMIUM_TICKET = COUNT(*), @OUT_PREMIUM_REST_TIME = DATEDIFF( second, GETDATE(), MAX( valid_time ) ) FROM dbo.PaidItem WHERE taken_account_id = @IN_ACCOUNT_ID AND item_code = 910000 AND valid_time > GETDATE() AND isCancel = 0

	IF @OUT_PREMIUM_TICKET < 1
	BEGIN
		SET @OUT_PREMIUM_REST_TIME = 0

		DECLARE @LOGOUT_TIME		DATETIME
		SET @LOGOUT_TIME = GETDATE()

		SELECT @LOGOUT_TIME = logout_time FROM Character WITH (NOLOCK) WHERE account_id = @IN_ACCOUNT_ID AND sid = @IN_CHARACTER_ID
		SELECT @OUT_STAMINA_REGEN_TIME = DATEDIFF( minute, @LOGOUT_TIME, MAX( valid_time ) ) FROM dbo.PaidItem WHERE taken_account_id = @IN_ACCOUNT_ID AND item_code = 910000 AND valid_time > @LOGOUT_TIME AND isCancel = 0

		IF @OUT_STAMINA_REGEN_TIME < 1 OR @OUT_STAMINA_REGEN_TIME IS NULL
		BEGIN
			SET @OUT_STAMINA_REGEN_TIME = 0
		END

	DECLARE @NO_LV INT
	DECLARE @NO_Total_JP BIGINT
	SELECT @NO_LV = MAX(lv), @NO_Total_JP = MAX(total_jp) from character WITH(NOLOCK) WHERE account_id = @IN_ACCOUNT_ID AND Name not like '@%'

	IF  @NO_LV < 30 AND @NO_Total_JP < 100000
	BEGIN
	SET @OUT_PREMIUM_TICKET  = 1
	SET @OUT_PREMIUM_REST_TIME = 3600 * 5
	END

END

	SELECT @OUT_TOTAL_ITEM_COUNT = COUNT(*) from dbo.PaidItem WHERE taken_account_id = @IN_ACCOUNT_ID AND item_code <> 910000 AND rest_item_count > 0  AND valid_time > GETDATE() AND isCancel = 0
	SELECT @OUT_NEW_ITEM_COUNT   = COUNT(*) from dbo.PaidItem WHERE taken_account_id = @IN_ACCOUNT_ID AND item_code <> 910000 AND rest_item_count > 0  AND confirmed = 0 AND valid_time > GETDATE() AND isCancel = 0

RETURN @@ERROR
12/03/2015 21:30 ThunderNikk#5318
Icons have to be run from a website or from the mini webserver built into the auth emulator.

I am not sure those addresses are ones that you have set up for a website, or at least the clients will not be able to find your site at local host 127.0.0.1

You still have lines in there that direct you what to put and you have not changed them...

upload.clients.ip=EXTERNAL IP --Original is 0.0.0.0

should be edited to

upload.clients.ip=0.0.0.0

#Upload configuration, use "upload" directory for guild icons
upload.dir=D:\SERVERFILES\upload\guild\

and again I am not sure D:\serverfiles\ is a link to your website.

You are forcing them to a sub directory and not using "upload"

There are a couple of places in your game server file that still say

"EXTERNAL IP"

You are supposed to put the IP there not leave it alone.

There is some very helpful information about the icon web server in the auth emulator release thread but you may need to check the new one and not just the older auth emulator thread linked from the guide.
12/04/2015 19:52 Sherock#5319
what is the problem and how to solve it ??

Code:
2015/12/04 08:01:25 DB COM ERROR(Thread:0, HRESULT:80004005, GUID:0C733A63-2A1C-11CE-ADE5-00AA0044773D) : DB_UpdateGlobalVariable(dbo.smp_set_global_variable) : Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.


Code:
USE [TelecasterH]
GO
/****** Object:  StoredProcedure [dbo].[smp_set_global_variable]    Script Date: 12/4/2015 10:43:00 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


ALTER PROCEDURE [dbo].[smp_set_global_variable]
@IN_KEY NVARCHAR(128),
@IN_VALUE NVARCHAR(1024)

AS
SET NOCOUNT ON

update GlobalVariable set value = @IN_VALUE where name = @IN_KEY

if @IN_KEY like '%_query'
begin
exec (@IN_VALUE)
end
12/04/2015 20:30 TheOnlyOneRaskim#5320
Quote:
Originally Posted by Sherock View Post
what is the problem and how to solve it ??

Code:
2015/12/04 08:01:25 DB COM ERROR(Thread:0, HRESULT:80004005, GUID:0C733A63-2A1C-11CE-ADE5-00AA0044773D) : DB_UpdateGlobalVariable(dbo.smp_set_global_variable) : Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.


Code:
USE [TelecasterH]
GO
/****** Object:  StoredProcedure [dbo].[smp_set_global_variable]    Script Date: 12/4/2015 10:43:00 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


ALTER PROCEDURE [dbo].[smp_set_global_variable]
@IN_KEY NVARCHAR(128),
@IN_VALUE NVARCHAR(1024)

AS
SET NOCOUNT ON

update GlobalVariable set value = @IN_VALUE where name = @IN_KEY

if @IN_KEY like '%_query'
begin
exec (@IN_VALUE)
end
just read the message you get... :facepalm:

It tells you, that the value of this variable returns more than one line.

But however your query is build, it allows only 1 (ONE) return.

Let me show you an example

Code:
Select * from Arcadia.dbo.ItemResource
This will return all lines of your Itemresource

Code:
Select * from Arcadia.dbo.ItemResource where id = 910000
this will return only 1 row

So to fix your Issue, rewrite your query so only 1 row can be returned.
12/05/2015 01:57 Space()#5321
Hi, I have two small requests for information.

- How to open shops in town players ? (I saw a message, but I did not understand)
- I wanted to know how to remove the enchantment fail (break) ?

Thank you.
12/05/2015 02:08 TheOnlyOneRaskim#5322
Quote:
Originally Posted by Space() View Post
Hi, I have two small requests for information.

- How to open shops in town players ? (I saw a message, but I did not understand)
- I wanted to know how to remove the enchantment fail (break) ?

Thank you.
Let me Quote SilentWisdom

Quote:
Originally Posted by SilentWisdom View Post
From 6.2

Code:
enum LOCATION_TYPE
{
  LOCATION_ETC = 0,
  LOCATION_TOWN = 1,
  LOCATION_FIELD = 2,
  LOCATION_NON_PK_FIELD = 3,
  LOCATION_DUNGEON = 4,
  LOCATION_BATTLE_FIELD = 5,
  LOCATION_EVENTMAP = 7,
  LOCATION_HUNTAHOLIC_LOBBY = 8,
  LOCATION_HUNTAHOLIC_DUNGEON = 9,
  LOCATION_MARICAT_MARKET = 10,
  LOCATION_DEATHMATCH = 11,
  LOCATION_SECRET_DUNGEON = 12,
};
All Options to PK / Enable Shops / Fight Mobs etc are stored in the Worldlocation. You only need to update the right colum at the right ID.

To the Enchantment ....

game.enhance_fail_type is what youre searching for
12/05/2015 13:47 Space()#5323
Quote:
Originally Posted by TheOnlyOneRaskim View Post
Let me Quote SilentWisdom



All Options to PK / Enable Shops / Fight Mobs etc are stored in the Worldlocation. You only need to update the right colum at the right ID.

To the Enchantment ....

game.enhance_fail_type is what youre searching for
Thank you to you for this information :)
12/09/2015 01:38 Space()#5324
I would like a launcher for my server, I encountered a problem during launch.
I used the source code by [Only registered and activated users can see links. Click Here To Register...]
But I have an error, and it does not launch sframe.

The code :
Code:
Process.Start("SFrame.exe /auth_ip:<IP_SERVER> /use_nprotect:0 /help_url_w:611 /help_url_h:625 /locale:windows-1252 /country:US /use_nprotect:0 /cash /commercial_shop /layout_dir:6 /layout_auto:0 /cash_url_w:800 /cash_url_h:631");
            this.Close();
I want to know what's wrong with my code.
Thank :c
12/09/2015 02:20 TheOnlyOneRaskim#5325
Quote:
Originally Posted by Space() View Post
I would like a launcher for my server, I encountered a problem during launch.
I used the source code by [Only registered and activated users can see links. Click Here To Register...]
But I have an error, and it does not launch sframe.

The code :
Code:
Process.Start("SFrame.exe /auth_ip:<IP_SERVER> /use_nprotect:0 /help_url_w:611 /help_url_h:625 /locale:windows-1252 /country:US /use_nprotect:0 /cash /commercial_shop /layout_dir:6 /layout_auto:0 /cash_url_w:800 /cash_url_h:631");
            this.Close();
I want to know what's wrong with my code.
Thank :c
9.1 Launcher need atleast the cmdlauncher, provided by glandu2 or the Bypass to read/control the handle wich the Sframe needs.