Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
News ticker
  • Bienvenue sur le nouveau forum VeryGames
  • Welcome to the new VeryGames forum
  • VeryNews

    Reorienter les joueurs


    Recommended Posts

    Salut,

     

    Je viens de prendre un serveur chez Vg :

     

    77.111.192.93:27015

    Passer nous voir a l'occaz :)

     

    Je voudrais reorienter les joueurs de mon ancien serveur qui se termine le 6 decembre vers le nouveau server Vg, est-ce qu'il y a une solution ? je sais qu'avant c'etait possible...!

     

    Bien entendu j'ai mis le new ip dans le Hostname et les adverts sur l'ancien server mais personne ne viens -_-'

     

    Merci de m'aider svp !

     

    N'oubliez pas de passez nous voir, ont paye l'apero demain soir :-)

     

    CiiiAAooo

    Link to post
    Share on other sites
    Depuis que Valve a trifouillé dans les commandes client, la redirection automatique est impossible.

    VALVE a récemment fournit un outil aux auteurs de plugins pour permettre la redirection. Mais tous les plugins ne sont pas encore à jour.

     

    Si tu as la version 2 d'EventScripts c'est possible, il existe déjà un script : http://forums.mattie.info/cs/forums/viewtopic.php?t=18588

     

    Configuration :

    // ***** Options *****

     

    redirect_ip "127.0.0.1:27015"

    // IP vers lequel le joueur est redirigé

     

    redirect_delay 15

    // Nombre de secondes pendant lequel le joueur est avertit de la redirection [15 par défaut]

     

    redirect_kick 0

    // 0 = Ne rien faire quand le joueur refuse d'être redirigé, 1 = Kicker le joueurs qui refuse d'être redirigé [0 par défaut]

     

    redirect_count 0

    // Nombre de joueurs connectés requis pour la mise en place de la redirection

    // 0 = la redicrection n'est jamais automatiquement activée [0 par défaut]

     

    Installation : http://forums.mattie.info/cs/forums/viewtopic.php?t=5632

    Link to post
    Share on other sites
    ca fait bon ménage avec les slots admin de mani, ce truc, tu crois ?

    Ce script permet de limiter le nombre de slots occupés sur le serveur. Le système de Mani-Admin-Plugin réserve des slots pour les admins. Il kick les joueurs en trop.

     

    Ce sont 2 systèmes différents, c'est donc à toi de faire en sorte qu'ils ne se contredisent pas. Tout dépend de ta configuration ;)

     

    Ce "truc" sera probablement utilisé par Mani pour rétablir son propre système de redirection dans de prochaines release du plugin (si ce n'est pas encore fait).

    Link to post
    Share on other sites

    Merci, nicolous :)

     

    Voila, j'ai creer le redirect.cfg et configurer a mes souhait ensuite placer en suivant le chemin : /addons/eventscripts/redirect/redirect.cfg

     

    Maintenant je n'ai plus qu'a ajouter a mon autoexec.cfg la commande : es_load redirect ??

     

    En fait j'ai vu un truc genre python faut il le copier et le placer dans eventscript?

     

     

    Link to post
    Share on other sites

    Le truc c'est que ce n'est pas en telechargement et vu que tout est en anglais j'y comprend pas grand chose, apparement il faut creer un fichier.py...

     

    Si j'avais juste a les placer les dossier ou fichier dans le ftp ce serait simple de suivre l'arborescence...

     

    J'ai bien compris ton tuto mais malheureusement il ne peu pas m'aider :'(

     

    Merci quand meme de ton aide;-) mais je pense que je vais faire autrement (je vais harceler les joueurs :mrgreen: ) !

    Link to post
    Share on other sites

    Bon bah c'est plus fort que moi, je veux y arriver :)

     

    Mon redirect.cfg :

     

    // ./addons/eventscripts/redirect/redirect.cfg

     

    // Load this addon with: es_load redirect

     

    // To configure language settings please see redirect_languages.ini

     

     

    // ***** Options *****

     

    redirect_ip "77.111.192.93:27015"

    // IP players will be redirected to

     

    redirect_delay 15

    // Number of seconds to show redirect prompt [default 15]

     

    redirect_kick 0

    // 0 = do nothing when players chose not to be redirected, 1 = kick players who chose not to be redirected [default 0]

     

    redirect_count 8

    // Number of connected players required to automatically send redirect prompt, 0 = never automatically send redirect prompt [default 0]

     

     

    // ***** Documentation *****

     

    // Use the following server command to redirect a player:

     

    // redirect <userid/player name/"Steam ID"> ["IP"] [kick] [delay]

     

    // IP - IP players will be redirected to (optional, uses redirect_ip by default)

    // kick - 0 = do nothing when players chose not to be redirected, 1 = kick players who chose not to be redirected (optional, uses redirect_kick by default)

    // delay - Number of seconds to show redirect prompt (optional, uses redirect_delay by default)

    Mon redirect.py :

     

    """

    Provides a redirection prompt either automatically or through a server command.

    """

     

     

    import es

    import gamethread

    import langlib

    import msglib

    import os.path

    import playerlib

     

     

    info = es.AddonInfo()

    info.name = 'Redirect'

    info.basename = 'redirect'

     

     

    list_delays = []

    dict_options = {'redirect_ip':('77.111.192.93:27015', 'IP players will be redirected to'), 'redirect_delay':(15, 'Number of seconds to show redirect prompt'), 'redirect_kick':(0, '0 = do nothing when players chose not to be redirected, 1 = kick players who chose not to be redirected'), 'redirect_count':(8, 'Number of connected players required to automatically send redirect prompt, 0 = never automatically send redirect prompt')}

    func_lang_text = None

     

     

    def load():

    """

    Registers the "redirect" server command

    Checks to make sure critical server variables are created by the config

    Loads the language file for the kick message

    """

    global func_lang_text

     

    if not es.exists('command', 'redirect'):

    es.regcmd('redirect', 'redirect/redirect_cmd', 'redirect <userid/player name/\"Steam ID\"> [\"IP\"] [kick] [delay]\nServer command to send a redirect prompt')

     

    for str_option in dict_options:

    es.ServerVar(str_option, dict_options[str_option][0], dict_options[str_option][1])

    if os.path.isfile(es.getAddonPath('redirect') + '/redirect.cfg'):

    es.server.cmd('es_xmexec ../addons/eventscripts/redirect/redirect.cfg')

    else:

    es.dbgmsg(0, 'Redirect: Unable to load redirect.cfg! Please ensure it is in the ./redirect/ directory.')

     

    str_lang_path = es.getAddonPath('redirect') + '/redirect_languages.ini'

    if os.path.isfile(str_lang_path):

    func_lang_text = langlib.Strings(str_lang_path)

    else:

    es.dbgmsg(0, 'Redirect: Unable to load redirect_languages.ini! Please ensure it is in the ./redirect/ directory.')

    if not func_lang_text:

    func_lang_text = missing_lang

     

     

    def es_map_start(event_var):

    """Cancels outstanding delays and clears list_delays"""

    global list_delays

     

    for int_userid in list_delays:

    gamethread.cancelDelayed('redirect_%s' % int_userid)

     

    list_delays[:] = []

     

     

    def player_activate(event_var):

    """Calls send_prompt if the player count is at the requisite number"""

    int_count_option = int(es.ServerVar('redirect_count'))

    if int_count_option:

    if int_count_option <= es.getplayercount():

    send_prompt(int(event_var['userid']), str(es.ServerVar('redirect_ip')), int(es.ServerVar('redirect_kick')), float(es.ServerVar('redirect_delay')))

     

     

    def player_disconnect(event_var):

    """Cancels the delay if the player was redirected"""

    global list_delays

     

    int_userid = int(event_var['userid'])

    if int_userid in list_delays:

    gamethread.cancelDelayed('redirect_%s' % int_userid)

    list_delays.remove(int_userid)

     

     

    def unload():

    for str_option in dict_options:

    es.ServerVar(str_option).set(0)

     

     

    def send_prompt(int_userid, str_ip, int_kick, float_delay):

    """

    Sends the redirect prompt

    Creates a delay for kicking the player

    """

    global list_delays

     

    msglib.VguiDialog(title=str_ip, time=float_delay, mode=msglib.VguiMode.ASKCONNECT).send(int_userid)

     

    if int_kick:

    if int_userid in list_delays:

    gamethread.cancelDelayed('redirect_%s' % int_userid)

    else:

    list_delays.append(int_userid)

    gamethread.delayedname(float_delay, 'redirect_%s' % int_userid, kick_player, (int_userid, str_ip))

     

     

    def kick_player(int_userid, str_ip):

    """Kicks the player for not redirecting"""

    global list_delays

     

    if es.exists('userid', int_userid):

    es.server.cmd('kickid %s %s' % (int_userid, func_lang_text('kick', {'ip':str_ip}, playerlib.getPlayer(int_userid).get('lang'))))

     

    if int_userid in list_delays:

    list_delays.remove(int_userid)

     

     

    def redirect_cmd():

    """

    redirect <userid/player name/"Steam ID"> ["IP"] [kick] [delay]

    Ensures a correct number of arguments were provided

    Ensures the specified player exists

    Retrieves the optional arguments while converting them to the desired type

    Calls send_prompt with the specified arguments

    """

    int_arg_count = es.getargc()

     

    if int_arg_count in (2, 3, 4, 5):

    str_player_arg = es.getargv(1)

    int_userid = es.getuserid(str_player_arg)

     

    if int_userid:

    list_args = [int_userid, str(es.ServerVar('redirect_ip')), int(es.ServerVar('redirect_kick')), float(es.ServerVar('redirect_delay'))]

    dict_arg_types = {2:str, 3:int, 4:float}

    for int_x in range(2, int_arg_count):

    list_args[int_x - 1] = dict_arg_types[int_x](es.getargv(int_x))

     

    send_prompt(*list_args)

     

    else:

    es.dbgmsg(0, 'Error: No such player \"%s\"' % str_player_arg)

     

    else:

    es.dbgmsg(0, 'Syntax: redirect <userid/player name/\"Steam ID\"> [\"IP\"] [kick] [delay]')

     

     

    def missing_lang(str_heading, dict_tokens, str_language):

    """Displays an error message because the languages .ini could not be found"""

    return 'Error: redirect_languages.ini not found'

    Et pour finir mon redirect_languages.ini :

     

    # >>> For general addon configuration see redirect.cfg <<<

     

    # DO NOT translate words with $ or # in front!

    # For a list of language abbreviations please see ./addons/eventscripts/_libs/python/deflangs.ini

     

     

    [kick]

    fr="77.111.192.93:27015"

    Qu'est ce qu'il ne va pas svp ? :)

    Link to post
    Share on other sites
    Le truc c'est que ce n'est pas en telechargement et vu que tout est en anglais j'y comprend pas grand chose, apparement il faut creer un fichier.py...

    Une fois le fichier téléchargé il te suffit de suivre un tuto en français, comme celui dont je t'ai donné le lien. Il n'y a aucun .py à créer :shock: il est dans le pack que tu as téléchargé.

     

    Si j'avais juste a les placer les dossier ou fichier dans le ftp ce serait simple de suivre l'arborescence...

    C'est le cas, il n'y a aucun fichier à créer, juste copier les fichiers sur ton ftp comme ils le sont dans le .zip. La seule chose que tu as à faire une fois les fichiers copiés sur ton ftp est d'ajouter cette ligne à ton autoexec.cfg :

    es_load redirect

     

     

    mon redirect_languages.ini :

     

    # >>> For general addon configuration see redirect.cfg <<<

     

    # DO NOT translate words with $ or # in front!

    # For a list of language abbreviations please see ./addons/eventscripts/_libs/python/deflangs.ini

     

     

    [kick]

    fr="77.111.192.93:27015"

    Ce fichier est un fichier de traduction, il sert uniquement à traduire les messages du script. Si tu personnalise le message, tu ne dois pas toucher à "$ip" qui sera automatiquement remplacé par l'IP que tu as spécifié dans le fichier de config.

    Link to post
    Share on other sites
    Une fois le fichier téléchargé il te suffit de suivre un tuto en français, comme celui dont je t'ai donné le lien. Il n'y a aucun .py à créer :shock: il est dans le pack que tu as téléchargé.

    Bah justement il n'y a pas de pack a telecharger c'est pour ca que jme pose des question :-)

     

    Du coup j'ai creer tout ces fichiers et placer en suivant l'arborescence !

     

    J'ai tester et ca fonctionne, en debut de partie les joueurs doivent appuyer sur F3 pour se rediriger vers le nouveau serveur !

     

    J'ai quand meme un probleme, je voudrais qu'une fois qu'il y ai 10 joueurs sur l'ancien les autres se connectant au serv soient directement redirigé vers le nouveau sans possibilité de choisir avec F3!

     

    Là il est limité a 8 joueurs mais ca ne fonctionne pas :(

     

    Merci ! :)

    Link to post
    Share on other sites
    Bah justement il n'y a pas de pack a telecharger c'est pour ca que jme pose des question :-)

    Comme beaucoup de forums, il faut être inscrit et logué pour voir les liens de téléchargement ;-) Télécharges le pack en te loguant au forum :saut:

     

    J'ai quand meme un probleme, je voudrais qu'une fois qu'il y ai 10 joueurs sur l'ancien les autres se connectant au serv soient directement redirigé vers le nouveau sans possibilité de choisir avec F3!

    C'est le seul moyen de redirection concédé par VALVE. Forcer la redirection est impossible, le joueur a toujours la possibilité de refuser.

    Link to post
    Share on other sites

    Join the conversation

    You can post now and register later. If you have an account, sign in now to post with your account.

    Guest
    Reply to this topic...

    ×   Pasted as rich text.   Paste as plain text instead

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

    ×
    ×
    • Create New...