na source você modifica regras de jogo, como por exemplo a quantidade de tiles que é enviada, ou a cor da mensagem que é enviada em um canal (claro, vai ter que mexer na parte do client também)
no client, em suma, é onde você recebe as informações (tratadas no serverside) e passa elas para o client em uma ui
nos scripts em lua você faz o jogo acontecer, como por exemplo "eu quero clicar nessa pedra aqui e summonar 10 rotworms", esta parte seria feita em lua
óbvio, nada impede de você modificar ou criar algo direto pela source, mas eu não aconselharia
em poketibias é muito usado o diretório lib, uma dica:
lá não se faz acontecer nada, se você apenas adicionar algo por lá, o servidor vai continuar o mesmo
o diretório lib serve para você criar suas próprias bibliotecas e usá-las em outras partes da sua aplicação, exemplo:
- crio um arquivo no diretório lib
- no arquivo, crio uma função para verificar se o nome do player é "Rotworm"
feito isso, eu posso chamar essa função em qualquer lugar da minha aplicação, seja creaturescript, action e afins