Config File
Config = {}
Config.EnableTestCommands = true
Config.PasswordWordLists = {
-- Easy words -- 4 letters
easy = {
"HACK", "BOOT", "BIOS", "CODE", "DATA", "DISK", "FILE", "GATE", "HOST", "HTML",
"HTTP", "JAVA", "KEYS", "LINK", "LOAD", "LOCK", "LOOP", "MAIL", "NETS", "NODE",
"NULL", "PASS", "OPEN", "PING", "PORT", "RAID", "ROOT", "RUBY", "SCAN", "HIDE",
"SPAM", "SYNC", "TASK", "ENVI", "USER", "VOID", "WORM", "BASH", "BYTE", "CORE",
"DUMP", "ECHO", "HASH", "IDLE", "LEET", "MAZE", "NIKO", "VICE", "CAYO", "LSPD",
"FISH", "GRID", "JUMP", "MODS", "NEON", "PLUG", "RISK", "SAVE", "TECH", "UNIT",
"WIRE", "ZONE", "APPS", "BANK", "CHAT", "DARK", "EXIT", "FIND", "GAME", "HELP",
"INFO", "JOIN", "KEEP", "LOGS", "MENU", "NOTE", "PACK", "QUIT", "RACE", "SEND",
"TEST", "UNDO", "VIEW", "WAIT", "XRAY", "YARD", "ZERO", "ACID", "BLUE", "COIN"
},
-- Medium words -- 5 - 6 letters
medium = {
"PROXY", "CRYPT", "SHELL", "GHOST", "VIRUS", "LINUX", "MACRO", "PATCH", "QUERY", "STACK",
"INTEL", "TOKEN", "LOGIC", "ROBOT", "HACKY", "CLOUD", "PARSE", "DEBUG", "ARRAY", "WRITE",
"GOOFY", "AUDIO", "ARENA", "TAKEN", "SHANK", "GRAVE", "ABYSS", "TOOLS", "TEASE", "TOTAL",
"TRUMP", "TRASH", "RAPID", "TRIAL", "RAZOR", "VALVE", "RUSTY", "VOMIT", "CACHE", "REBEL",
"RUSTY", "YACHT", "ZEBRA", "BACON", "CHAIR", "BOOBS", "WAGON", "BLACK", "ZESTY", "CLEAN",
"SYSTEM", "CODING", "HACKER", "SCRIPT", "KERNEL", "BINARY", "CIPHER", "DAEMON", "ENCODE",
"FILTER", "GITHUB", "HIDDEN", "INJECT", "KEYLOG", "LAPTOP", "MEMORY", "NEURAL", "ONLINE",
"PACKET", "PYTHON", "ROUTER", "SERVER", "TROJAN", "UPLOAD", "VECTOR", "WEBCAM", "ZOMBIE",
"ACCESS", "BACKUP", "COOKIE", "DOMAIN", "ENGINE", "FOLDER", "GAMING", "HOTKEY", "IMPORT"
},
-- Hard words -- 7 - 8 letters
hard = {
'NETWORK', 'MALWARE', 'EXPLOIT', 'PAYLOAD', 'RUNTIME', 'LOGGING', 'COMPILE', 'HEXCODE', 'BITMASK',
'KEYHASH', 'ROOTKIT', 'GATEWAY', 'SESSION', 'WEBHOOK', 'ANDROID', 'BITCOIN', 'DESKTOP', 'ENCRYPT',
'FIREFOX', 'HOTSPOT', 'NETBIOS', 'QUANTUM', 'SPYWARE', 'ZIPFILE', 'MUZZLES', 'MALWARE', 'EXPLOIT',
'ADDICTS', 'BANDITS', 'ACTRESS', 'AEROSOL', 'ATTACKS', 'ARMORED', 'BAILOUT', 'BALLING', 'BANANAS',
'CABBAGE', 'CALCIUM', 'LADDERS', 'YOUNGER', 'WAFFLES', 'GADGETS', 'GIMMICK', 'GUNSHOT', 'GRIZZLY',
'CODEBASE', 'COMPILER', 'DATABASE', 'DEBUGGER', 'ENCODING', 'ETHERNET', 'FIRMWARE', 'FUNCTION',
},
-- Expert words -- 8 - 10 letters
expert = {
'PASSWORD', 'SECURITY', 'DATABASE', 'PROTOCOL', 'ASSEMBLY', 'BOOTFILE', 'ENDPOINT', 'FIRMWARE',
'METADATA', 'HARDCODE', 'HOSTNAME', 'OVERRIDE', 'TERMINAL', 'USERNAME', 'COMPILER', 'INTRANET',
'GIGAWATT', 'FILETYPE', 'OPERATOR', 'OVERFLOW', 'FIREWALL', 'GIGABYTE', 'INTERNET', 'KEYBOARD',
'DOWNLOAD', 'DOCUMENT', 'SANDWICH', 'DINOSAUR', 'UNIVERSE', 'STAIRWAY', 'AIRPLANE', 'PAINTING',
'BUILDING', 'HOSPITAL', 'SWIMMING', 'FOOTBALL', 'BASEBALL', 'BACKPACK', 'NOTEBOOK', 'TEXTBOOK',
'BACKDOOR', 'CHECKSUM', 'ETHERNET', 'FIRMWARE', 'GIGABYTE', 'HARDWARE', 'INTERNET', 'KEYFRAME',
'HARDWARE', 'HOSTNAME', 'KEYBOARD', 'MAINLINE', 'MALICIOUS', 'METADATA', 'NOTEBOOK', 'OPERATOR',
'PASSWORD', 'PROTOCOL', 'REGISTRY', 'SOFTWARE', 'TERMINAL', 'TRACKING', 'USERNAME', 'VARIABLE',
'WIRELESS', 'WORKFLOW', 'BACKDOOR', 'CHECKSUM', 'DARKWEB', 'ENDPOINT', 'FIREWALL', 'HARDCODE',
'ENCRYPTION', 'JAVASCRIPT', 'BLOCKCHAIN', 'CYBERCRIME', 'EXECUTABLE', 'MAINFRAMES', 'NETWORKING',
'OPENSOURCE', 'PENETRATION', 'RANSOMWARE', 'SOURCECODE', 'TECHNOLOGY', 'VIRTUALIZE', 'WORKSTATION',
'ALGORITHMS', 'BIOMETRICS', 'CRYPTOLOGY', 'DATACENTER', 'ENCRYPTION', 'FILESYSTEM', 'HYPERVISOR',
'JAVASCRIPT', 'KUBERNETES', 'MIDDLEWARE', 'NETWORKING', 'OBFUSCATED', 'PROCESSING', 'QUARANTINE'
},
-- you can also make custom word sets here (if you like)
-- Example:
computerPassword = {
"PASSWORD", "QWERTY", "ADMIN", "WELCOME", "LETMEIN", "FOOTBALL", "MONKEY", "SUNSHINE", "ILOVEYOU", "DRAGON"
},
}
Config.DifficultyPresets = {
easy = {
worm = {
timeLimit = 180,
difficulty = 1,
targetScore = 5
},
password = {
timeLimit = 120,
words = Config.PasswordWordLists.easy
},
firewall = {
timeLimit = 180,
difficulty = 1
},
noderunner = {
timeLimit = 90,
difficulty = 1,
targetScore = 5
}
},
medium = {
worm = {
timeLimit = 180,
difficulty = 2,
targetScore = 10
},
password = {
timeLimit = 120,
words = Config.PasswordWordLists.medium
},
firewall = {
timeLimit = 180,
difficulty = 3
},
noderunner = {
timeLimit = 180,
difficulty = 2,
targetScore = 8
}
},
hard = {
worm = {
timeLimit = 180,
difficulty = 3,
targetScore = 20
},
password = {
timeLimit = 120,
words = Config.PasswordWordLists.hard
},
firewall = {
timeLimit = 180,
difficulty = 3
},
noderunner = {
timeLimit = 120,
difficulty = 3,
targetScore = 12
}
},
expert = {
worm = {
timeLimit = 180,
difficulty = 5,
targetScore = 30
},
password = {
timeLimit = 120,
words = Config.PasswordWordLists.expert
},
firewall = {
timeLimit = 120,
difficulty = 4
},
noderunner = {
timeLimit = 60,
difficulty = 4,
targetScore = 15
}
}
}
-- - 'easy' preset uses Config.PasswordWordLists.easy (4-letter words)
-- - 'medium' preset uses Config.PasswordWordLists.medium (5-letter words)
-- - 'hard' preset uses Config.PasswordWordLists.hard (7 letter words)
-- - 'expert' preset uses Config.PasswordWordLists.expert (8 letter words)
--
-- You can also provide a list of words directly to the export:
--
-- Example:
-- local data = {
-- timeLimit = 180,
-- words = Config.PasswordWordLists.police -- use a predefined themed word list
-- }
-- exports['envi-hack-minigames']:StartPasswordHack(data, function(success)
-- -- handle result
-- end)
--
-- -- Or even create your own custom word list
-- local customWords = {"ACCESS", "SECURE", "FIREWALL", "CONNECT"}
-- local data = {
-- timeLimit = 120,
-- words = customWords -- the word length will automatically set the difficulty
-- }
-- exports['envi-hack-minigames']:StartPasswordHack(data, function(success)
-- -- handle result
-- end)
--Shared Export (Can be used from Server or Client)
exports('GetHackDefaults', function(hackType, difficultyPreset)
if not hackType then
error('No hack type provided - Options: worm, password, firewall, noderunner')
end
if difficultyPreset and Config.DifficultyPresets[difficultyPreset] then
if Config.DifficultyPresets[difficultyPreset][hackType] then
return Config.DifficultyPresets[difficultyPreset][hackType]
end
end
return Config.DifficultyPresets.medium[hackType] -- if no difficulty preset is given, defaults to medium
end)
Last updated