splewis / csgo-multi-1v1

CS:GO Sourcemod plugin to create multi-1v1 arena servers
GNU General Public License v3.0
277 stars 68 forks source link

Allow bots in the server #93

Open splewis opened 9 years ago

splewis commented 9 years ago

Currently the plugin doesn't allow bots at all. It'd be neat if it did.

mayli commented 9 years ago

+1

splewis commented 9 years ago

From a first attempt at it (see branch https://github.com/splewis/csgo-multi-1v1/tree/feature-bots) it seems CS:GO has some issue with having bots on spectator. My attempt just treated the bots as players, and moved them into the waiting queue on spectator when connected and they got to join the next round, but it seemed the game would constantly kick and re-add bots every round.

popey456963 commented 8 years ago

Could this be re merged into master? In my opinion the problem of kicking + re-adding bots is not so large, and if people disagree they can always just disable bots via CVARs?

splewis commented 8 years ago

If somebody finished it, yes. The branch I have above didn't work a year ago and I haven't worked on it since.

popey456963 commented 8 years ago

I'll take a look at merging it with the latest version and fixing any bugs.

thomasfinstad commented 8 years ago

@popey456963 did you manage to iron out the merging?

popey456963 commented 8 years ago

No, like @splewis said, the original didn't appear to even function correctly and merging would have meant almost rebuilding it from scratch into a project I've never known before.

nouton commented 4 years ago

any News/Updates from this?

iNilo commented 4 years ago

I've experimented with this.

As @splewis mentioned, switching the bots from team makes them leave.

The closest I got was via:

  1. Grab the first arena in the array list of spawns.
  2. Reserve that arena for bots.
  3. Remove that arena for players.
  4. Add a terrorist bot.
  5. Make him always spawn in that reserved arena.
  6. Rename him to "awaiting opponents"
  7. Whenever the queue is odd ( 4 vs 3 ) switch the "no opponent" person to CT.
  8. Fork away from normal routines, on round end.
  9. Spawn the T bot in the arena of the no opponent person. (bot will always be a T, player a CT).

Botwise I just straight up gave my bots aimbot ( https://forums.alliedmods.net/showthread.php?t=320719 )

Stats wise I give the bots the average ELO of players avg(). Or you can give them 1500 unchangable.

I got close to get it working, but its a real mess,

Unless someone has better ideas, this seems the only way forward.

trif55 commented 4 years ago

This would be a cool addition (I've just started experimenting with running this plugin for some friends)

thomasfinstad commented 4 years ago

If this workflow is possible, it might be easier/cleaner?

  1. If teams are uneven find un-matched player
  2. Spawn bot in his arena on the opposite team
  3. Give bot ELO as before
  4. Remove bot on round end to make the team-switch-leaving behavior predictable

Do you see any issues arising like the ones you already encountered?

penalte commented 4 years ago

https://forums.alliedmods.net/showthread.php?t=322907