[VSRO] Limit Silk per hour For The First Connect Account

03/30/2021 20:01 amrsmooth#1
Hello lit ppl, So basically the Silk per Hour system works fine with me however, I want to limit it... so that just the first connected account to the server will be the ONLY account which get the Silk per Hour thingy.
As if someone opened 4 accounts, not all the accounts will receive Silk, instead I only want the first account connected to the server be the only account which receive the Silk without receiving the Silk on other accounts.

Help is much appreciated.
03/30/2021 22:56 Over56#2
instead of charname or charid use jid
03/31/2021 03:45 amrsmooth#3
Quote:
Originally Posted by Over56 View Post
instead of charname or charid use jid
Thank you so much for your reply so you mean to change CharID and CharID to JID, that's my code:

Quote:
USE [SRO_VT_SHARDLOG]
GO
/****** Object: StoredProcedure [dbo].[_GetSilkperHour] Script Date: 3/31/2021 1:56:27 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[_GetSilkperHour] /*by Caipi*/

@[Only registered and activated users can see links. Click Here To Register...]D int

as

Declare @totalMinutes bigint = (SELECT tMinutes FROM _OnlineOffline WHERE CharID = @[Only registered and activated users can see links. Click Here To Register...]D), @Silkoutput int;

/*Calculating the Silk/Hour-Amount related to the Online Time*/
SET @Silkoutput =
CASE
WHEN @totalMinutes >= (SELECT [Step3Silk] FROM [_Silk/Hour-Config] WHERE [Desc] like 'Requirements')
THEN (SELECT [Step3Silk] FROM [_Silk/Hour-Config] WHERE [Desc] like 'Rates')
WHEN @totalMinutes >= (SELECT [Step2Silk] FROM [_Silk/Hour-Config] WHERE [Desc] like 'Requirements')
THEN (SELECT [Step2Silk] FROM [_Silk/Hour-Config] WHERE [Desc] like 'Rates')
WHEN @totalMinutes >= (SELECT [Step1Silk] FROM [_Silk/Hour-Config] WHERE [Desc] like 'Requirements')
THEN (SELECT [Step1Silk] FROM [_Silk/Hour-Config] WHERE [Desc] like 'Rates')
ELSE (SELECT DefaultSilk FROM [_Silk/Hour-Config] WHERE [Desc] like 'Rates')
END

RETURN @Silkoutput
03/31/2021 17:32 OKeks#4
I guess you can't do it with a database only solution. You can use the account identifier (account DB-> User) to put it per account. But ppl can register many accounts as you mentioned and use it.
Code:
JID	StrUserID
1	Keks
3	cookie
4	log
5	log2
6	log3
7	log4
8	log5
9	log6
1 account = 1 JID

If you want to give silks only to 1 account per user you have to find a way to identify each user uniquely. In this case IP, HWID + filter etc. won't work with 100% success, because you can change both with VM, software, swapping hardware and so on.

To identify each user uniquely you might give them a unique ID, which could be required to gain silk per hr or silk per day, for example 1 per discord user. But ofc. this is also not 100% secure. Or you integrate something into your website to identify each account on creation, but ppl might simply use a 2nd random computer to create more accounts.
Fingerprint

Maybe another solution would be to use JID as mentioned and add some kind of webstore, which will give you account- or charbound items only. Still you could use many accounts to gain access to alchemy stones, but you could exclude these items from the list and add other sources to drop them for example. In theory it is also possible to "farm" pet clocks and gear extenders, thus it is hard to make it non cheatable.

Or a smart solution: don't use silk/h, use something else to distribute free charbound silk items to ppl, like ingame quests or drops from instanced maps. If you give pets and gears accountbound via quest, it will not be possible to swap them to other accounts for 1 month of time extension.
03/31/2021 20:24 Over56#5
Quote:
Originally Posted by OKeks View Post
I guess you can't do it with a database only solution. You can use the account identifier (account DB-> User) to put it per account. But ppl can register many accounts as you mentioned and use it.
Code:
JID	StrUserID
1	Keks
3	cookie
4	log
5	log2
6	log3
7	log4
8	log5
9	log6
1 account = 1 JID

If you want to give silks only to 1 account per user you have to find a way to identify each user uniquely. In this case IP, HWID + filter etc. won't work with 100% success, because you can change both with VM, software, swapping hardware and so on.

To identify each user uniquely you might give them a unique ID, which could be required to gain silk per hr or silk per day, for example 1 per discord user. But ofc. this is also not 100% secure. Or you integrate something into your website to identify each account on creation, but ppl might simply use a 2nd random computer to create more accounts.
Fingerprint

Maybe another solution would be to use JID as mentioned and add some kind of webstore, which will give you account- or charbound items only. Still you could use many accounts to gain access to alchemy stones, but you could exclude these items from the list and add other sources to drop them for example. In theory it is also possible to "farm" pet clocks and gear extenders, thus it is hard to make it non cheatable.

Or a smart solution: don't use silk/h, use something else to distribute free charbound silk items to ppl, like ingame quests or drops from instanced maps. If you give pets and gears accountbound via quest, it will not be possible to swap them to other accounts for 1 month of time extension.
Better and easy way is using packet filter with hwid and limit the silk per hour for one account per hwid
03/31/2021 23:05 OKeks#6
You can easily use tools like windows remote or vnc to open multiple accounts with multiple computers in multiple networks.
04/01/2021 00:19 Over56#7
Quote:
Originally Posted by OKeks View Post
You can easily use tools like windows remote or vnc to open multiple accounts with multiple computers in multiple networks.
Or maybe smth like account bound silk item or coin rename it to free silk and with an npc for those free silk and limit the item that can bought with it item from that npc simple way to avoid abuse his system