310 lines
7.9 KiB
JSON
310 lines
7.9 KiB
JSON
{
|
|
"server": {
|
|
"host": "localhost",
|
|
"port": 6667,
|
|
"ssl": false,
|
|
"ssl_port": 6697,
|
|
"nick_prefix": "StressBot",
|
|
"auto_join_channels": ["#test", "#general"]
|
|
},
|
|
"log_level": "INFO",
|
|
"scenarios": [
|
|
{
|
|
"name": "Basic Connection Test",
|
|
"description": "Test basic connection and registration",
|
|
"client_count": 10,
|
|
"duration": 30,
|
|
"connect_gradually": false,
|
|
"disconnect_gradually": true,
|
|
"disconnect_delay": 0.2,
|
|
"delay_after": 5,
|
|
"activities": []
|
|
},
|
|
{
|
|
"name": "Mass Connection Stress",
|
|
"description": "Stress test with many simultaneous connections",
|
|
"client_count": 50,
|
|
"duration": 60,
|
|
"connect_gradually": false,
|
|
"disconnect_gradually": false,
|
|
"delay_after": 5,
|
|
"activities": [
|
|
{
|
|
"type": "channel_flood",
|
|
"channel": "#test",
|
|
"message_count": 20,
|
|
"delay": 2.0
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Gradual Connection Test",
|
|
"description": "Test gradual connection buildup",
|
|
"client_count": 30,
|
|
"duration": 45,
|
|
"connect_gradually": true,
|
|
"connect_delay": 0.1,
|
|
"disconnect_gradually": true,
|
|
"disconnect_delay": 0.1,
|
|
"delay_after": 3,
|
|
"activities": [
|
|
{
|
|
"type": "private_flood",
|
|
"message_count": 15,
|
|
"delay": 3.0
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Heavy Activity Test",
|
|
"description": "Test server under heavy message load",
|
|
"client_count": 25,
|
|
"duration": 90,
|
|
"connect_gradually": false,
|
|
"disconnect_gradually": false,
|
|
"delay_after": 5,
|
|
"activities": [
|
|
{
|
|
"type": "channel_flood",
|
|
"channel": "#test",
|
|
"message_count": 30,
|
|
"delay": 1.0
|
|
},
|
|
{
|
|
"type": "private_flood",
|
|
"message_count": 20,
|
|
"delay": 1.5
|
|
},
|
|
{
|
|
"type": "join_part_spam",
|
|
"iterations": 10,
|
|
"channels": ["#spam1", "#spam2", "#spam3"],
|
|
"delay": 2.0
|
|
},
|
|
{
|
|
"type": "random_commands",
|
|
"command_count": 15,
|
|
"commands": ["WHO #test", "LIST", "VERSION", "WHOIS StressBot0001"],
|
|
"delay": 2.5
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Nick Change Spam",
|
|
"description": "Test rapid nick changes",
|
|
"client_count": 15,
|
|
"duration": 30,
|
|
"connect_gradually": false,
|
|
"disconnect_gradually": false,
|
|
"delay_after": 3,
|
|
"activities": [
|
|
{
|
|
"type": "nick_change_spam",
|
|
"iterations": 20,
|
|
"delay": 1.0
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Channel Chaos Test",
|
|
"description": "Rapid JOIN/PART with message flooding",
|
|
"client_count": 20,
|
|
"duration": 60,
|
|
"connect_gradually": true,
|
|
"connect_delay": 0.05,
|
|
"disconnect_gradually": true,
|
|
"disconnect_delay": 0.05,
|
|
"delay_after": 5,
|
|
"activities": [
|
|
{
|
|
"type": "join_part_spam",
|
|
"iterations": 25,
|
|
"channels": ["#chaos1", "#chaos2", "#chaos3", "#chaos4"],
|
|
"delay": 0.5
|
|
},
|
|
{
|
|
"type": "channel_flood",
|
|
"channel": "#chaos1",
|
|
"message_count": 40,
|
|
"delay": 1.0
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Maximum Load Test",
|
|
"description": "Push server to maximum capacity",
|
|
"client_count": 100,
|
|
"duration": 120,
|
|
"connect_gradually": true,
|
|
"connect_delay": 0.02,
|
|
"disconnect_gradually": true,
|
|
"disconnect_delay": 0.01,
|
|
"delay_after": 10,
|
|
"activities": [
|
|
{
|
|
"type": "channel_flood",
|
|
"channel": "#maxload",
|
|
"message_count": 50,
|
|
"delay": 0.8
|
|
},
|
|
{
|
|
"type": "private_flood",
|
|
"message_count": 30,
|
|
"delay": 1.2
|
|
},
|
|
{
|
|
"type": "join_part_spam",
|
|
"iterations": 15,
|
|
"channels": ["#load1", "#load2", "#load3", "#load4", "#load5"],
|
|
"delay": 1.5
|
|
},
|
|
{
|
|
"type": "random_commands",
|
|
"command_count": 25,
|
|
"commands": ["WHO #maxload", "LIST", "VERSION", "WHOIS StressBot0050", "NAMES #load1"],
|
|
"delay": 2.0
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "EXTREME: Mass Connection Bomb",
|
|
"description": "BRUTAL: 200+ connections at once",
|
|
"client_count": 200,
|
|
"duration": 120,
|
|
"connect_gradually": false,
|
|
"disconnect_gradually": false,
|
|
"delay_after": 10,
|
|
"activities": [
|
|
{
|
|
"type": "channel_flood",
|
|
"channel": "#massacre",
|
|
"message_count": 50,
|
|
"delay": 0.1
|
|
},
|
|
{
|
|
"type": "private_flood",
|
|
"message_count": 30,
|
|
"delay": 0.2
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "EXTREME: Rapid Fire Connections",
|
|
"description": "BRUTAL: Connect 150 clients as fast as possible",
|
|
"client_count": 150,
|
|
"duration": 60,
|
|
"connect_gradually": true,
|
|
"connect_delay": 0.001,
|
|
"disconnect_gradually": true,
|
|
"disconnect_delay": 0.001,
|
|
"delay_after": 5,
|
|
"activities": [
|
|
{
|
|
"type": "channel_flood",
|
|
"channel": "#rapidfire",
|
|
"message_count": 100,
|
|
"delay": 0.05
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "EXTREME: Message Hurricane",
|
|
"description": "BRUTAL: Maximum message throughput test",
|
|
"client_count": 80,
|
|
"duration": 180,
|
|
"connect_gradually": false,
|
|
"disconnect_gradually": false,
|
|
"delay_after": 10,
|
|
"activities": [
|
|
{
|
|
"type": "channel_flood",
|
|
"channel": "#hurricane",
|
|
"message_count": 200,
|
|
"delay": 0.01
|
|
},
|
|
{
|
|
"type": "private_flood",
|
|
"message_count": 150,
|
|
"delay": 0.02
|
|
},
|
|
{
|
|
"type": "join_part_spam",
|
|
"iterations": 50,
|
|
"channels": ["#chaos1", "#chaos2", "#chaos3", "#chaos4", "#chaos5"],
|
|
"delay": 0.1
|
|
},
|
|
{
|
|
"type": "random_commands",
|
|
"command_count": 100,
|
|
"commands": ["WHO #hurricane", "LIST", "VERSION", "TIME", "ADMIN", "INFO"],
|
|
"delay": 0.05
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "EXTREME: Connection Chaos",
|
|
"description": "BRUTAL: Rapid connect/disconnect cycles",
|
|
"client_count": 100,
|
|
"duration": 90,
|
|
"connect_gradually": true,
|
|
"connect_delay": 0.01,
|
|
"disconnect_gradually": true,
|
|
"disconnect_delay": 0.01,
|
|
"delay_after": 5,
|
|
"activities": [
|
|
{
|
|
"type": "nick_spam",
|
|
"iterations": 20,
|
|
"delay": 0.1
|
|
},
|
|
{
|
|
"type": "channel_flood",
|
|
"channel": "#chaos",
|
|
"message_count": 75,
|
|
"delay": 0.1
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "EXTREME: The Nuclear Option",
|
|
"description": "ULTIMATE BRUTAL: Everything at maximum intensity",
|
|
"client_count": 300,
|
|
"duration": 300,
|
|
"connect_gradually": true,
|
|
"connect_delay": 0.002,
|
|
"disconnect_gradually": false,
|
|
"delay_after": 15,
|
|
"activities": [
|
|
{
|
|
"type": "channel_flood",
|
|
"channel": "#nuclear",
|
|
"message_count": 500,
|
|
"delay": 0.005
|
|
},
|
|
{
|
|
"type": "private_flood",
|
|
"message_count": 300,
|
|
"delay": 0.01
|
|
},
|
|
{
|
|
"type": "join_part_spam",
|
|
"iterations": 100,
|
|
"channels": ["#nuke1", "#nuke2", "#nuke3", "#nuke4", "#nuke5", "#nuke6", "#nuke7", "#nuke8"],
|
|
"delay": 0.02
|
|
},
|
|
{
|
|
"type": "nick_spam",
|
|
"iterations": 50,
|
|
"delay": 0.03
|
|
},
|
|
{
|
|
"type": "random_commands",
|
|
"command_count": 200,
|
|
"commands": ["WHO #nuclear", "LIST", "VERSION", "TIME", "ADMIN", "INFO", "LUSERS"],
|
|
"delay": 0.01
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|