Jouer a un JEU (cs, Q3) tout en uploadant avec un bon ping, c'est ICI. - Windows & Software
Marsh Posté le 30-06-2002 à 12:47:17
ReplyMarsh Posté le 30-06-2002 à 13:41:18
Marsh Posté le 30-06-2002 à 13:42:37
Il i a la balise [ fixed ] pour mettre du code sur le forum
Marsh Posté le 30-06-2002 à 14:09:27
ReplyMarsh Posté le 30-06-2002 à 14:14:09
Si j'upload a 10 ko/s, et que j'utilise ta technique, j'aurai toujours un ping de 60-70 ??!?!
Marsh Posté le 30-06-2002 à 14:19:29
non non, en fait, tu uploadera a une vitesse tres réduite, genre 5ko/s pour avoir un bon ping, si t'up a 10ko/s avec le script (donc lancer le script avec qos -jeux 48) tu ramera un peu moins qu'avec rien, mais ca sera pas génial.
moi je met plutot la limite vers les 90 (qos -jeux 90) pour que ca marche bien. Voila voila
Marsh Posté le 30-06-2002 à 14:24:52
arf en fait j'ai meme pas expliké comment se servir du mode jeux, damed !
Voila l'explication: pour activer le mode jeux: lancez le script comme suit :
/la/ou/es/le/script -jeux x
où x est le nombre de Kbit (/!\ pas KByte) à réserver aux jeux.
pour retourner en mode sans qos, tapez simplement:
/la/ou/es/le/script -stop
Marsh Posté le 30-06-2002 à 20:40:40
ReplyMarsh Posté le 30-06-2002 à 21:53:17
J'ai pas l'impression, sur OSA ça orai + de succès je pense
Marsh Posté le 01-07-2002 à 10:15:00
Moi ca m'interesse, je prend.
meme si je peux pas tester maintenant, ca me servira un jour.
Merci
Marsh Posté le 01-07-2002 à 10:31:00
Une petite usine à gaz
|
download et upload contrôlés
[img]
Marsh Posté le 01-07-2002 à 11:18:29
ReplyMarsh Posté le 01-07-2002 à 11:56:28
lu eddy
c'est quoi ton netstat-m ? une version modifiée de netstat ?
Quelques remarques pour le kernel:
Lors de mes derniers tests, j'avais d'abord compilé tout en module et plusieurs modules refusaient de se charger. Après avoir tout vérifié, j'en ai conclu qu'il fallait compiler certains options du QoS en dur (je ne me rappelle plus lesquelles dsl ...).
Et évidemment il faut un kernel 2.4 minimum pour le QoS
Pour ceux qui sont sous Windows: franchement je ne pense pas qu'il existe autant d'options de QoS sous Windows
Marsh Posté le 01-07-2002 à 12:05:51
Yopyop seb, le netstat-m c un script en perl permettant de voir les connections masqueradées "a la netstat". Voila voila, pour les modules, je le savais, c'est pour ca que je recommande de tout mettre en dur ;D (:
(le netstat-m sert pas la, ct pour un truc automatique que j'ai commencé a coder, mais j'ai la fleme de finir ;p)
@+
Marsh Posté le 01-07-2002 à 12:49:59
heu question totalement debile mais...comment vous faites pour jouer à cs sous nux?
Marsh Posté le 01-07-2002 à 12:50:48
Citation : heu question totalement debile mais...comment vous faites pour jouer à cs sous nux? |
Wine ou WineX.
^_^v
Marsh Posté le 01-07-2002 à 12:53:23
et ca marche reelllement bien????
Mais fo une gf obligatoire?!
paske perso g une radeon et les drivers nux ca existe po, je dois prendre des drivers opengl par defaut qd je suis sous nux...
Marsh Posté le 01-07-2002 à 13:02:03
y'a wondershaper aussi comme script tout fait:
http://lartc.org/wondershaper/
Marsh Posté le 01-07-2002 à 13:31:14
amobile a écrit a écrit : heu question totalement debile mais...comment vous faites pour jouer à cs sous nux? |
en mettant une machine sous linux comme routeur et en jouant sur une autre sous windows
Marsh Posté le 01-07-2002 à 13:44:18
xstress tu peux mettre les balises [ fixed ] et [ /fixed ] stp ? pour virer les smilies et que ça ressemble à du code
Marsh Posté le 30-06-2002 à 12:36:38
Tout d'abords, on préviends, mon script marche QUE sous linux. (L'article prévu doit normallement arriver sur le site http://www.debian-fr.org/, je le paufine, en voyant les erreurs / problemes que je pourrais rencontrer avec vous ).
L'article:
Introduction:
QoS, ca vous dit quelque chose ? Surement, ce terme est tres en vogue
en ce moment. Cela signifie _Quality of Service_, c'est une gestion de
la bande passante réseau.
Présentation:
Bon, prennons mon exemple, qui es l'exemple de beaucoup de gens: j'ai
une ligne adsl, j'ai une gateway, le tout me sert de serveur web,
serveur ftp, de downloads sur edonkey et kazaa, et joue a
counter-strike, tout comme a QuakeIII. Les conaisseurs vous dirons:
impossible de jouer qd on a un serveur web en meme temps qui tourne.
C'est exact, en effet lors d'un upload a 15ko/s, votre ping sera tres élevé (genre 1seconde ou plus), et ca rends le jeu completement impossible. Le remède, c'est bien évidement la QoS !!!
Mettre en place une QoS:
Nous utiliserons iproute2. Iproute, c'est l'outil permettant
d'addresser les bonnes règles au noyau linux. Pour que ces
instructions soient comprises par le noyau, il faut que ce noyau ai un support pour la QoS, bien évidement. Par défaut, non incluse dans le noyau debian. Il faut dont intégrer ces regles, compilez votre noyau avec le support pour la QoS:
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_CBQ=y
CONFIG_NET_SCH_CSZ=y
CONFIG_NET_SCH_PRIO=y
CONFIG_NET_SCH_RED=y
CONFIG_NET_SCH_SFQ=y
CONFIG_NET_SCH_TEQL=y
CONFIG_NET_SCH_TBF=y
CONFIG_NET_SCH_GRED=y
CONFIG_NET_SCH_DSMARK=y
CONFIG_NET_SCH_INGRESS=y
CONFIG_NET_QOS=y
CONFIG_NET_ESTIMATOR=y
CONFIG_NET_CLS=y
CONFIG_NET_CLS_TCINDEX=y
CONFIG_NET_CLS_ROUTE4=y
CONFIG_NET_CLS_ROUTE=y
CONFIG_NET_CLS_FW=y
CONFIG_NET_CLS_U32=y
CONFIG_NET_CLS_RSVP=y
CONFIG_NET_CLS_RSVP6=y
CONFIG_NET_CLS_POLICE=y
En mettant TOUTES les options, en dur, vous n'aurez de pb, et ce qu'on recherches ceci dit, vous pouvez compiler en module.
Passons a iproute2: installer cet outil:
%root> apt-get install iproute2
Si vous n'avez pas déja iptables:
%root> apt-get install iptables
Script QoS par ed:
Utilisation du script:
Pour fontionner, le script a besoin des droits de super utilisateur
(root). Pour ce faire, tapez les commandes:
%root> chmod 700 /la/ou/es/le/script.qos && chown root.root
/la/ou/es/le/script.qos
Ceci fait, vous pouvez désormais editer le script, pour ajuster les valeurs de limites, si vous savez ce que vous faites ...
Lancons le script:
%root> /la/ou/es/le/script.qos -start
Vous devriez avoir un : Script: [ Démarré ]
si vous avez du texte d'erreur entre Script: et [ Démarrer ], c'est qu'une érreur s'est produite, vérifiez si vous avez bien respecté ce qui est ecrit plus haut, si c'est le cas, faite un commentaire, sur le présent site, ou alors mail: ed@zehome.com.
Pour tester si votre QoS est bien active:
%root> /la/ou/es/le/script.qos -test
(apres 10 - 15 minutes),
vous devriez avoir des paquets répartis dans chaques classe (si bien sur, vous avez eu, une requette http, une ftp, fait un telnet ou un ssh).
exemple de sortie:
(root@Serveurhome/ed)>> qos -test
632722 paquets par la classe parent
8793 paquets par la classe rapide (telnet/ssh/jeux)
0 paquets par la classe FTP
2023 paquets par la classe HTTP
542237 paquets par la classe peer to peer
Voici le script:
#!/bin/sh
#########################################
# Script QoS, zehome.com #
# Communiquez ce script à vos proches ! #
# URL: http://www.debian-fr.org #
# ------------------------------------- #
# Contact: ed@zehome.com #
#########################################
# On d�finie les constantes
TC=`which tc`
IPTABLES=`which iptables`
DEV_EXT="ppp0"
DEV=$DEV_EXT
DEV_INT="eth0"
netstatm="/bin/netstat-m"
##CONFIGURTION EN DUR
# Kbits pour Kazaa et Edonkey
p2p=18
# variable a = Kbits pour le FTP
a=40
# variable b = Kbits pour le HTTP
b=70
# ATTENTION, SUR ADSL NET1 NE PAS D�PASSER 128Kbit cumule.(1KB = 8 Kbits)
# Ajustez plutot en dessous genre 10-15 Kbits pour tout le reste que HTTP, FTP cumulés ;)
jeux_auto="90"
if [ ! $1 ]
then
echo -e "Jeux: $0 -jeux x \"x nombre de Kbit pour counter-strike ou/et Quake3\".\n $0 -start => d�marre le script.\n $0 -stop => arrete le script."
exit 0
fi
for i in $@ ;
do
case $i in
-jeux)
#jeux=$"$(( $i + 1 ))"
jeux=$2
;;
-help)
echo -e "Jeux: $0 -jeux x \"x nombre de Kbit pour counter-strike ou/et Quake3\".\n $0 -start => d�marre le script.\n $0 -stop => arrete le script."
exit 0
;;
-stop)
$TC qdisc del dev $DEV root >/dev/null 2>&1
$IPTABLES -t mangle -F
exit 0
;;
-test)
set `tc -s class show dev ppp0 | grep Sent | cut -f5 -d ' '`; echo "$1 paquets par la classe parent";echo "$2 paquets par la classe rapide (telnet/ssh/jeux)";echo "$3 paquets par la classe FTP";echo "$4 paquets par la classe HTTP"; echo "$5 paquets par la classe peer to peer"
exit 0
;;
-start)
;;
esac
done
echo -n "Script "
# Remise zero des regles
#echo -n "Mise a zero des regles"
$TC qdisc del dev $DEV root >/dev/null 2>&1
$IPTABLES -t mangle -F
$IPTABLES -t mangle -X
$IPTABLES -t mangle -P PREROUTING ACCEPT
$IPTABLES -t mangle -P OUTPUT ACCEPT#echo -e " [\033[32m D�marr�\033[m ]"
# creation de la classe parent d'upload, limit�e � 128kbit (ADSL netissimo1)
#echo -n "creation de la classe parent"
$TC qdisc add dev $DEV root handle 10: cbq bandwidth 128Kbit avpkt 1000 mpu 64
#echo -e " [\033[32m D�marr�\033[m ]"
if [ ! $jeux ]
then
#echo -n "creation des classes filles"
$TC class add dev $DEV parent 10: classid 10:1 cbq bandwidth 128Kbit rate 128Kbit weight 64Kbit prio 1 bounded isolated allot 500
$TC class add dev $DEV parent 10: classid 10:2 cbq bandwidth 128Kbit rate "$a"Kbit weight 64Kbit prio 5 allot 1500 maxburst 20 bounded isolated avpkt 1200
$TC class add dev $DEV parent 10: classid 10:3 cbq bandwidth 128Kbit rate "$b"Kbit weight 64Kbit prio 8 allot 1500 maxburst 20 bounded isolated avpkt 1200
$TC class add dev $DEV parent 10: classid 10:4 cbq bandwidth 128Kbit rate "$p2p"Kbit weight 64Kbit prio 8 allot 1500 maxburst 20 bounded avpkt 1200
#echo -e " [\033[32m D�marr�\033[m ]"
#echo -n "Redirige les paquets vers la bonne classe"
$TC filter add dev $DEV parent 10:0 protocol ip prio 1 handle 1 fw flowid 10:1
$TC filter add dev $DEV parent 10:0 protocol ip prio 7 handle 2 fw flowid 10:2
$TC filter add dev $DEV parent 10:0 protocol ip prio 8 handle 3 fw flowid 10:3
$TC filter add dev $DEV parent 10:0 protocol ip prio 8 handle 4 fw flowid 10:4
#$TC filter add dev $DEV parent 10:0 protocol ip prio 100 u32 match ip src 0.0.0.0/0 flowid 10:4
$TC filter add dev $DEV parent 10:0 protocol ip prio 100 u32 match ip sport 21 0xFFFF flowid 10:2
$TC filter add dev $DEV parent 10:0 protocol ip prio 100 u32 match ip sport 80 0xFFFF flowid 10:3
$TC filter add dev $DEV parent 10:0 protocol ip prio 100 u32 match ip sport 22 0xFFFF flowid 10:1
$TC filter add dev $DEV parent 10:0 protocol ip prio 100 u32 match ip dport 22 0xFFFF flowid 10:1
$TC filter add dev $DEV parent 10:0 protocol ip prio 100 u32 match ip sport 23 0xFFFF flowid 10:1
$TC filter add dev $DEV parent 10:0 protocol ip prio 100 u32 match ip dport 23 0xFFFF flowid 10:1
$TC filter add dev $DEV parent 10:0 protocol ip prio 100 u32 match ip dport 6667 0xFFFF flowid 10:1
$TC filter add dev $DEV parent 10:0 protocol ip prio 100 u32 match ip dport 7000 0xFFFF flowid 10:1
$TC filter add dev $DEV parent 10:0 protocol ip prio 100 u32 match ip sport 6667 0xFFFF flowid 10:1
$TC filter add dev $DEV parent 10:0 protocol ip prio 100 u32 match ip sport 7000 0xFFFF flowid 10:1
$TC filter add dev $DEV parent 10:0 protocol ip prio 100 u32 match ip dport 4661 0xFFFF flowid 10:4
$TC filter add dev $DEV parent 10:0 protocol ip prio 100 u32 match ip dport 4662 0xFFFF flowid 10:4
$TC filter add dev $DEV parent 10:0 protocol ip prio 100 u32 match ip dport 1214 0xFFFF flowid 10:4
#echo -e " [\033[32m D�marr�\033[m ]"
fi
if [ $jeux ];
then
#echo -n "Max upload pour les jeux"
$TC class add dev $DEV parent 10: classid 10:2 cbq bandwidth 128Kbit rate `expr 128 - $jeux`Kbit weight 64Kbit prio 4 allot 1500 maxburst 20 bounded avpkt 1200
$TC class add dev $DEV parent 10: classid 10:1 cbq bandwidth 128Kbit rate "$jeux"Kbit allot 1514 cell 8 weight 6Kbit prio 1 maxburst 20 avpkt 1000 split 1:0 bounded isolated
$TC filter add dev $DEV parent 10:0 protocol ip prio 7 handle 1 fw flowid 10:1
$TC filter add dev $DEV parent 10:0 protocol ip prio 100 u32 match ip src 0.0.0.0/0 flowid 10:2
#echo -e " [\033[32m D�marr�\033[m ]"
#echo -n "Marquage des paquets par iptables"
$IPTABLES -t mangle -A FORWARD -p udp -m udp --sport 27005 -j MARK --set-mark 1
$IPTABLES -t mangle -A FORWARD -p tcp -m tcp --sport 27005 -j MARK --set-mark 1
$IPTABLES -t mangle -A FORWARD -p udp -m udp --sport 27960 -j MARK --set-mark 1
$IPTABLES -t mangle -A FORWARD -p tcp -m tcp --sport 27960 -j MARK --set-mark 1
$IPTABLES -t mangle -A FORWARD -p udp -m udp --sport 22 -j MARK --set-mark 1
$IPTABLES -t mangle -A FORWARD -p tcp -m tcp --sport 23 -j MARK --set-mark 1
$IPTABLES -t mangle -A FORWARD -p udp -m udp --dport 22 -j MARK --set-mark 1
$IPTABLES -t mangle -A FORWARD -p tcp -m tcp --dport 23 -j MARK --set-mark 1
$IPTABLES -t mangle -A FORWARD -p tcp -m tcp --sport 6667 -j MARK --set-mark 1
$IPTABLES -t mangle -A FORWARD -p tcp -m tcp --dport 6667 -j MARK --set-mark 1
fi
#echo -e " [\033[32m D�marr�\033[m ]"
echo -e "[\033[32m Démarré\033[m ]\nCrée par ed: http://www.zehome.com/, http://www.debian-fr.org/."
### END SCRIPT ###
Explication du mode "jeux":
Voila l'explication: pour activer le mode jeux: lancez le script avec le
Voila, je pourrais faire une limite sur le download aussi, si vous jugez utile de le faire ...
(excusez moi pour le francais, c pas dutout mon fort ) [fixed]
Message édité par laurent31 le 30-06-2002 à 14:31:58
---------------
http://www.debian-fr.org/