Download - SRS for Bot Application-V
-
7/28/2019 SRS for Bot Application-V
1/12
Version
Internal Use Only Page 1 of12
-
7/28/2019 SRS for Bot Application-V
2/12
Revision HistoryDate Version Description Author
04/11/2013 0.01 First cut draft for the project- based on initial discussion with
Eric
Swati
04/12/2013 0.02 Post discussion with Eric on server specific requirements Swati
0414/2013 0.03 Post discussion and review with Eric on overall SRS Swati
04/15/2013 0.04 Minor changes as suggested by Eric and also addition of
mockups(reviewed with Eric)
Swati
04/16/2013 0.05 Further changes suggested by Eric on mockups and processes
which do not have UI
Swati
04/19/2012 0.06 Removing calculations forModified pricelist from thisdocument and moving those to process functionalitydocument, based on inputs from Eric.
Swati
ApprovalsThe signatures below indicate the acceptance of this document.
Approval Approval Mail Header
(Paste approval emails below)Role Name
Internal Use Only Page 2 of12
-
7/28/2019 SRS for Bot Application-V
3/12
Table of Contents1 System Overview..........................................................................................................................4
2 System Description.......................................................................................................................42.1 System Boundaries.................................................................................................................5
3 Scope.............................................................................................................................................5
4 Assumptions..................................................................................................................................55 Definitions, Acronyms and Abbreviations...................................................................................5
6 Risks ............................................................................................................................................6
7 Functional Requirements..............................................................................................................6
7.1.1 .......................................................................................................................................67.1.2 ........................................................................................................................................8
7.1.3 ........................................................................................................................................9
7.1.4 ......................................................................................................................................108 Non-Functional Requirements....................................................................................................11
8.1 Usability Requirements........................................................................................................11
8.2 Performance Requirements..................................................................................................11
9 References...................................................................................................................................1210 Annexure...................................................................................................................................12
10.1 UI Mock-ups Wire Frames................................................................................................12
Internal Use Only Page 3 of12
-
7/28/2019 SRS for Bot Application-V
4/12
1 System Overview
The project is to create a bot (robot-an automated application) that will automate functions for
the game Magic The Gathering Online. Currently the game user downloads game client and viathis application user connects to game server to play the game online. User opens up a chatwindow to interact with other users and begin the game. The game as such does not expose its
APIs or code.
The automated bot application will have following key functions although detailed functionalityis listed in subsequent sections of this SRS.
- Open chat windows- Respond to game users chat with preset messages
- Control the inventory of the account
-Initiate trades (buy/sell/trade/rent)
- Maintain pricelist
- Maintaining User credits
- Maintaining transaction `details- Account leveling
.
2 System Description
Internal Use Only Page 4 of12
Bot server
Bot Client1
user1
Bot Client2
user2
Bot Client
3 user3
Bot Client
4 user4
Bot Client
n userN
Game Client (for game user interaction with bot client)
Game server
Web user interfacefor buying paypal
credits
Bot settings on
SQL Server
AdminInterface
-
7/28/2019 SRS for Bot Application-V
5/12
2.1 System Boundaries
-
3 Scope-
4 Assumptions
5 Definitions, Acronyms and Abbreviations
Term Definition
Trade buying and selling together
Rent Rent is essentially flat fee per month unlimited usage of cards based on deposit,
User or game userUser is anybody that controls the bot using the predefined commands. User doesnthave direct access to bot. They interact with bot through their game client
triggerwords like buy, sell, ttrade, rent, help, etc are trigger words. these are entered bythe user in the ingame chat to make the bot do specific actions
Shortcode
these are words in database reply text like [user] [balance] [cardprice] [cardname]that will be replaced with the value from the database, as related to the user that
the message is going to be sent to. For e.g. when a user types BALANCEthe reply in db will be listed likeHi [user], Your current balance is [balance].he would seeHi John, Your current balance is $12.51.
Internal Use Only Page 5 of12
-
7/28/2019 SRS for Bot Application-V
6/12
6 Risks
None specifically stated at this stage
7 Functional Requirements
7.1.1
RequirementDescription Bot Server will have following capabilities:
Ability to configure/set global price adjustment values
o global BUY value adjustmento global SELL value adjustment
Ability to maintain information related to Pricelists for the cards
o Current pricelist ( Unique ID, number, Card name , Buy price andSell price). It will be updated with results from third party website,every 15 minutes. Expect a large number around 7K new recordsgetting inserted every 15 minutes into Current Pricelist.
o Price modifiers (Unique ID, Card name, Buy price adjustment, Sellprice adjustment)
o Modified pricelist (Unique ID, Card name, Buy adjustment, SellAdjustment) (derived from Current Pricelist and Price Modifiersbased on two formulae given below). This pricelist will be inserted,
every 15 minutes, with adjustments accordingly to the formulaegiven in the process functionality document (a supporting doc to thisSRS document).
o Pricelist history Records from Modified pricelist will be moved intothis Pricelist history while overwriting existing records and addingdatestamp to it.
Internal Use Only Page 6 of12
-
7/28/2019 SRS for Bot Application-V
7/12
Ability to maintain following user information:- User name(captured by bot client when game user opens a chat
window, also called ingame chat)- Password (for future use, not needed as of now)- Email id- Credits (maintained and updated through paypal purchase and
buy/sell/trade transactions)- Number of warnings- Number of times they have connected to bot- Blacklisted flag
Note: Credits and tickets are for now 1:`1. In future we may need tochange cash to credit ratio. Credits may not always translate toequivalent dollars, on game applications credits are called as tickets
Ability for Bot Admin to able to change the availability of the cards. Adminwill be provided with the inventory listing for each bot. Quantity at hand andquantity available for trade for each card on each bot client. Thesequantities may be different. For each card, number of copies of actual cards,
and number of copies available for sale.
Ability to record all the transaction details for each user transaction
o Detail such as-user name-card name-type of transaction (buy/sell/trade/rent)-transaction amount-date of the transaction
o Note: Record as much statistical data as possible, for eachtransaction, for future analysis and reporting.
o Note: A separate table for rental expiration and deposit, return
(yes/no) will be requiredo Note: For a rent transaction, for rent buy and sell price needs to be
logged when card is checked out, and when card is returned/kept weadd to transaction the buy and sell price
Ability to balance accounts when there is excess and deficiencyo Each bot will have its own user account and each one will have diff
inventory levels for each card. For e.g. Card a has quantity of 100bot 1, quantity of 0 bot 2, account balancing will mean sending 50from bot 1 to bot 2 so that both have balanced inventory levels.
Ability to automatically flag a user from bot client as Blacklist user. Theblacklisting will be based on following criteria
o If ingame chat window is open longer than 3 min, post "kick warningtext from db" to user in chat, delay 15 seconds, if still no activityfrom user force close chat window, increment users warning level +1,if warning level exceeds 3, then block user in database, as well asperform ingame block user function.
o If user does more than 30 add or remove card actions in a trade ,
Internal Use Only Page 7 of12
-
7/28/2019 SRS for Bot Application-V
8/12
post "add and remove excess warning text from db" to user in chat,force close chat window, increment users warning level +1, ifwarning level exceeds 3, then blacklist the user in database, as wellas perform ingame block(blacklist) user function.
Assumption /Rule
Source ReferenceDoc
Dependencies
AcceptanceCriteria
Change History
Priority /Scope
High / A
7.1.2
RequirementDescription
Bot Client will have following features:
Ability to respond with Preset/automated messages for each bot client, as
user types in certain commands (listed below):
o When game user starts chat, bot server will send specific welcome
message.
o When game user writes word buy then trade window gets opened
up and bot server will send an automated reply
o When game user types word sell, then trade window gets opened
up and bot server will send an automated reply
o When game user types word trade, then trade window gets
opened up and bot server will send an automated reply
o When game user types word rent, then trade window gets opened
up and bot server will send an automated reply
o When game user types word help, bot server will send an
automated reply
o When game user types then bot server will sendautomated reply as Hi, username. Your balance is $ xx
Ability to pause and unpause the bot
Ability to login to game client on startup or lost connection
Ability to monitor game client offline and reestablish connection
Internal Use Only Page 8 of12
-
7/28/2019 SRS for Bot Application-V
9/12
Assumption /Rule
Source ReferenceDoc
Dependencies
AcceptanceCriteria
Change History
Priority /Scope
High / A
7.1.3
RequirementDescription User web interface
User should be able to buy paypal credits through this interface
Assumption /Rule
Source ReferenceDoc
Dependencies
AcceptanceCriteria
Change History
Priority /Scope
High / A
Internal Use Only Page 9 of12
-
7/28/2019 SRS for Bot Application-V
10/12
7.1.4
RequirementDescription
Admin interface will have
Ability to remotely control each bot.- Manual account leveling- Check what bots are online and whether they are running properly or
are facing any problems- Account balancing for each bot by initiating a transaction in a open
up a new trade Ability to provide bot client authentication
- bot client will attempt to connect to server until admin approves it- The connectivity between bot client and server will be in encrypted
form. Ability to check inventory and update (one colulmn In Stock and other
Available)- Listing of name of the card and number of those cards, for each bot
client Ability to view the pricing and update the price list
- For each card, it will display the price(?s) for which each card isselling for
Ability to flag manually flag a user as blacklisted
Assumption /Rule
Source ReferenceDoc
Dependencies
AcceptanceCriteria
Change History
Priority /Scope
High / A
Internal Use Only Page 10 of12
-
7/28/2019 SRS for Bot Application-V
11/12
8 Non-Functional Requirements
8.1 Usability Requirements
The following mockups are only to outline the flow and help with visualizing the user interfaceoriented features. Detailed design stage would reveal further details and/or changes to them.
As provided in the mockups/wireframes zip file
8.2 Performance Requirements
It is expected that technically unlimited bot clients should be supported. In reality for the firstgo-live in general there will be 10 bot clients running at the same time.
Internal Use Only Page 11 of12
-
7/28/2019 SRS for Bot Application-V
12/12
9 References
The direct link to the install exehttp://mtgoclientdepot.onlinegaming.wizards.com/setup.exe
Alternatively you can get the "WIDE BETA VERSION" (not the current version) athttp://www.wizards.com/Magic/Digital/MagicOnline.aspx?x=mtg/digital/magiconline/download
10 Annexure
10.1UI Mock-ups Wire Frames-
Internal Use Only Page 12 of12
http://www.wizards.com/Magic/Digital/MagicOnline.aspx?x=mtg/digital/magiconline/downloadhttp://www.wizards.com/Magic/Digital/MagicOnline.aspx?x=mtg/digital/magiconline/download