Server

Technická podpora k herním serverům Minecraft a Tekkit
Message
Autor
Fifal
Příspěvky: 411
Registrován: 17 bře 2013, 19:24
Reputation: 0

Re: Server

#11 Příspěvekod Fifal » 14 bře 2016, 10:36

Noo, s tímto nemám skoro vůbec žádné zkušenosti, takže skoro ani nevím, jak s tou Vanillou, ale tam nebudu moci napříkal používat WE a to mně se líbí nejvíce :P
Neposlal by jsi mi třeba nějaké odkazy, kde čerpáš ty vychytávky atd..?? Jak s tou Vanillou, či nové věcí v 1.9
Pomohl Jsem? ?
Oplat karma + ;))

Uživatelský avatar
Hanakocz
Příspěvky: 3228
Věk: 34
Registrován: 25 črc 2013, 20:53
Reputation: 7
Kontaktovat uživatele:

Re: Server

#12 Příspěvekod Hanakocz » 14 bře 2016, 10:56

Tak MC samo o sobě umí "něco na styl WE", resp. základní operace na kopírování a vyplňování, ale není to zcela triviální a rozhodně není žádné //undo :P (/fill, /clone, /blockdata, /testforblock, /setblock) ....s automatikýma CB (taky novinka 1.9 ) nepotřebuješ ani RS obvody, commandy se můou spouštět furt, můžeš je řetězit atd, takže třeba udělat automat, kterej ti postaví celej dům poté, co na značku položíš jeden určitej blok....no problem ...atd

Tak jako kde by člověk mohl čerpat.... novinky: http://minecraft.gamepedia.com/1.9
A co se dá kutit s CB : http://minecraft.gamepedia.com/Commands
A pak ti pomůžou třeba i nějaký ty command generátory, to stačí vygooglit, je jich spousta, např. moje oblíbené : https://www.minecraftjson.com/ http://mcstacker.bimbimma.com/
Industry 2.0 -> 1.7.10 GregTech6 server. Pro připojení stačí napsat.
Člen ligy pro aktualizaci serverů na novější verze a rozšíření modovaného MC.
Discord FH : http://discord.fakaheda.eu/ (sem psát pokud chcete poradit s MC mody akutně)

Fifal
Příspěvky: 411
Registrován: 17 bře 2013, 19:24
Reputation: 0

Re: Server

#13 Příspěvekod Fifal » 14 bře 2016, 11:41

Ahaa, no pěkné, ale setjně možná spíše zůstanu u pluginů (Pex atd..), budu hold počítat s nějakými chybkami..
na odkazy mrknu, určitě se budou hodit :)

-- 14 bře 2016, 10:47 --

A ještě..
K čemu pak přesněji to MySQL?
Pomohl Jsem? ?
Oplat karma + ;))

Uživatelský avatar
Hanakocz
Příspěvky: 3228
Věk: 34
Registrován: 25 črc 2013, 20:53
Reputation: 7
Kontaktovat uživatele:

Re: Server

#14 Příspěvekod Hanakocz » 14 bře 2016, 12:58

Mysql je rychlejší, je to indexovaná tabulka, tudíž server nemusí vždy lustrovat celý soubor, ale najde si jednu tabulku a v ní podle klíče řádek a ten přečte, zatimco u souboru musí přečíst vždy vše naráz. To je u často používaných věcí zásadní, když si uvědomíš, že to musí server dělat pro každou hráčovu operaci.....nejen příkazy, ale i rozbití každého bloku či v případě regionů pohyb na každý blok, zda tam není region s move false..

Plus nemusíš řešit syntaxi jako v configu, a samozřejmě důležitá vlastnost je ta, že přes mysql můžou permisse sdílet i dva servery (nebo třeba i web) a mít je updatované v reálném čase , ať už jde požadavek z jakéhokoli zdroje.
Industry 2.0 -> 1.7.10 GregTech6 server. Pro připojení stačí napsat.
Člen ligy pro aktualizaci serverů na novější verze a rozšíření modovaného MC.
Discord FH : http://discord.fakaheda.eu/ (sem psát pokud chcete poradit s MC mody akutně)

Scipio
Příspěvky: 14
Registrován: 30 lis 2014, 13:50
Reputation: 0

Re: Server

#15 Příspěvekod Scipio » 14 bře 2016, 15:06

Nemáš tam chybu v default? Proč má player eco.give ? To je normální že si na serverech mohu givovat money ? :D

-- 14 bře 2016, 14:09 --

No musím říct že už sem měl permisse přes mysql, ale problém byl v tom že hráči si nějaké permise museli odemknout. Takže když se dělal wipe musel sem kompletně přepsat permise. Existuje nějaká vychytávka přes kterou se dá z tabulky smazat pouze permisse přidělené daným hráčům ? díky

Uživatelský avatar
Hanakocz
Příspěvky: 3228
Věk: 34
Registrován: 25 črc 2013, 20:53
Reputation: 7
Kontaktovat uživatele:

Re: Server

#16 Příspěvekod Hanakocz » 14 bře 2016, 15:43

Tak jistě, že existuje. Možná by ale bylo vhodnější si k tomu založit vlastní téma, zde by to byl offtopic. Nicméně je to další dobrý příklad výhody mysql - umí dynamicky měnit sebe sama strojově - dáš požadavek a pro všechny, co splní nějakou podmínku, se to vykoná.
Industry 2.0 -> 1.7.10 GregTech6 server. Pro připojení stačí napsat.
Člen ligy pro aktualizaci serverů na novější verze a rozšíření modovaného MC.
Discord FH : http://discord.fakaheda.eu/ (sem psát pokud chcete poradit s MC mody akutně)

Fifal
Příspěvky: 411
Registrován: 17 bře 2013, 19:24
Reputation: 0

Re: Server

#17 Příspěvekod Fifal » 14 bře 2016, 15:58

No, já bych to ani tak nějak moc nevyužil, ale založím si ho a někdy se na to mrknu, díky za tvůj čas a tvoje rady Hanakocz!
Permission už jsem vyřešil...

Akorát toto mi háže konzole:
Spoiler: zobrazit

Kód: Vybrat vše

> [15:02:13 WARN]: org.apache.commons.lang.UnhandledException: Plugin ColorMe v3.8.1 generated an exception while executing task 366
at org.bukkit.craftbukkit.v1_9_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:56)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NoSuchMethodError: org.bukkit.Server.getOnlinePlayers()[Lorg/bukkit/entity/Player;
at de.dustplanet.colorme.Metrics.postPlugin(Metrics.java:357)
at de.dustplanet.colorme.Metrics.access$400(Metrics.java:64)
at de.dustplanet.colorme.Metrics$1.run(Metrics.java:245)
at org.bukkit.craftbukkit.v1_9_R1.scheduler.CraftTask.run(CraftTask.java:71)
at org.bukkit.craftbukkit.v1_9_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:53)
... 3 more


co to? koukám, že to dělá plugin ColorMe

-- 14 bře 2016, 15:08 --

a mohu se ještě zeptat, proč mi nejde skin na serveru?
Hledal jsem a koukám, že na to musí být plugin, jaký by jste doporučili?

-- 14 bře 2016, 15:46 --

A ještě jedna věcička, nevíte proč se lidi nemohou registrovat, píše to, že na to nemají permice:

Authme config:
Spoiler: zobrazit

Kód: Vybrat vše

DataSource:
    # What type of database do you want to use?
    # Valid values: sqlite, mysql
    backend: 'SQLITE'
    # Enable database caching, should improve database performance
    caching: true
    # Database host address
    mySQLHost: '127.0.0.1'
    # Database port
    mySQLPort: '3306'
    # Username about Database Connection Infos
    mySQLUsername: 'authme'
    # Password about Database Connection Infos
    mySQLPassword: '12345'
    # Database Name, use with converters or as SQLITE database name
    mySQLDatabase: 'authme'
    # Table of the database
    mySQLTablename: 'authme'
    # Column of IDs to sort data
    mySQLColumnId: 'id'
    # Column for storing or checking players nickname
    mySQLColumnName: 'username'
    # Column for storing or checking players RealName
    mySQLRealName: 'realname'
    # Column for storing players passwords
    mySQLColumnPassword: 'password'
    # Column for storing players emails
    mySQLColumnEmail: 'email'
    # Column for storing if a player is logged in or not
    mySQLColumnLogged: 'isLogged'
    # Column for storing players ips
    mySQLColumnIp: 'ip'
    # Column for storing players lastlogins
    mySQLColumnLastLogin: 'lastlogin'
    # Column for storing player LastLocation - X
    mySQLlastlocX: 'x'
    # Column for storing player LastLocation - Y
    mySQLlastlocY: 'y'
    # Column for storing player LastLocation - Z
    mySQLlastlocZ: 'z'
    # Column for storing player LastLocation - World Name
    mySQLlastlocWorld: 'world'
    # Enable this when you allow registration through a website
    mySQLWebsite: false

ExternalBoardOptions:
    # Column for storing players passwords salts
    mySQLColumnSalt: ''
    # Column for storing players groups
    mySQLColumnGroup: ''
    # -1 means disabled. If you want that only activated players
    # can log into your server, you can set here the group number
    # of unactivated users, needed for some forum/CMS support
    nonActivedUserGroup: -1
    # Other MySQL columns where we need to put the username (case-sensitive)
    mySQLOtherUsernameColumns: []
    # How much log2 rounds needed in BCrypt (do not change if you do not know what it does)
    bCryptLog2Round: 10
    # phpBB table prefix defined during the phpBB installation process
    phpbbTablePrefix: 'phpbb_'
    # phpBB activated group ID; 2 is the default registered group defined by phpBB
    phpbbActivatedGroupId: 2
    # Wordpress prefix defined during WordPress installation
    wordpressTablePrefix: 'wp_'

Converter:
    Rakamak:
        # Rakamak file name
        fileName: 'users.rak'
        # Rakamak use IP?
        useIP: false
        # Rakamak IP file name
        ipFileName: 'UsersIp.rak'
    CrazyLogin:
        # CrazyLogin database file name
        fileName: 'accounts.db'

settings:
    # The name shown in the help messages
    helpHeader: 'AuthMeReloaded'
    sessions:
        # Do you want to enable the session feature?
        # If enabled, when a player authenticates successfully,
        # his IP and his nickname is saved.
        # The next time the player joins the server, if his IP
        # is the same as last time and the timeout hasn't
        # expired, he will not need to authenticate.
        enabled: false
        # After how many minutes should a session expire?
        # 0 for unlimited time (Very dangerous, use it at your own risk!)
        # Remember that sessions will end only after the timeout, and
        # if the player's IP has changed but the timeout hasn't expired,
        # the player will be kicked from the server due to invalid session
        timeout: 10
        # Should the session expire if the player tries to log in with
        # another IP address?
        sessionExpireOnIpChange: true
    # Message language, available: en, de, br, cz, pl, fr, ru, hu, sk, es, zhtw, fi, zhcn, lt, it, ko, pt
    messagesLanguage: 'cz'
    restrictions:
        # Can not authenticated players chat and see the chat log?
        # Keep in mind that this feature also blocks all commands not
        # listed in the list below.
        allowChat: false
        # Allow unlogged users to use all the commands if registration is not forced!
        # WARNING: use this only if you need it!)
        allowAllCommandsIfRegistrationIsOptional: false
        # Allowed commands for unauthenticated players
        allowCommands:
        - '/login'
        - '/register'
        - '/l'
        - '/reg'
        - '/email'
        - '/captcha'
        # Max number of allowed registrations per IP
        maxRegPerIp: 1
        # Minimum allowed username length
        minNicknameLength: 4
        # Maximum allowed username length
        maxNicknameLength: 16
        # When this setting is enabled, online players can't be kicked out
        # due to "Logged in from another Location"
        # This setting will prevent potential security exploits.
        ForceSingleSession: true
        # If enabled, every player will be teleported to the world spawnpoint
        # after successful authentication.
        # The quit location of the player will be overwritten.
        # This is different from "teleportUnAuthedToSpawn" that teleport player
        # back to his quit location after the authentication.
        ForceSpawnLocOnJoinEnabled: false
        # This option will save the quit location of the players.
        SaveQuitLocation: false
        # To activate the restricted user feature you need
        # to enable this option and configure the AllowedRestrictedUser field.
        AllowRestrictedUser: false
        # The restricted user feature will kick players listed below
        # if they don't match the defined IP address.
        # Example:
        #     AllowedRestrictedUser:
        #     - playername;127.0.0.1
        AllowedRestrictedUser:
        - 'playername;127.0.0.1'
        # Should unregistered players be kicked immediately?
        kickNonRegistered: false
        # Should players be kicked on wrong password?
        kickOnWrongPassword: false
        # Should not logged in players be teleported to the spawn?
        # After the authentication they will be teleported back to
        # their normal position.
        teleportUnAuthedToSpawn: false
        # Can unregistered players walk around?
        allowMovement: false
        # Should not authenticated players have speed = 0?
        # This will reset the fly/walk speed to default value after the login.
        removeSpeed: true
        # After how many seconds should players who fail to login or register
        # be kicked? Set to 0 to disable.
        timeout: 30
        # Regex syntax of allowed characters in the player name.
        allowedNicknameCharacters: '[a-zA-Z0-9_]*'
        # How far can unregistered players walk?
        # Set to 0 for unlimited radius
        allowedMovementRadius: 100
        # Enable double check of password when you register
        # when it's true, registration requires that kind of command:
        # /register <password> <confirmPassword>
        enablePasswordConfirmation: true
        # Should we protect the player inventory before logging in? Requires ProtocolLib.
        ProtectInventoryBeforeLogIn: false
        # Should we deny the tabcomplete feature before logging in? Requires ProtocolLib.
        DenyTabCompleteBeforeLogin: true
        # Should we hide the tablist before logging in? Requires ProtocolLib.
        HideTablistBeforeLogin: true
        # Should we display all other accounts from a player when he joins?
        # permission: /authme.admin.accounts
        displayOtherAccounts: true
        # WorldNames where we need to force the spawn location for ForceSpawnLocOnJoinEnabled
        # Case-sensitive!
        ForceSpawnOnTheseWorlds:
        - 'world'
        - 'world_nether'
        - 'world_the_end'
        # Ban ip when the ip is not the ip registered in database
        banUnsafedIP: false
        # Spawn priority; values: authme, essentials, multiverse, default
        spawnPriority: 'authme,essentials,multiverse,default'
        # Maximum Login authorized by IP
        maxLoginPerIp: 0
        # Maximum Join authorized by IP
        maxJoinPerIp: 0
        # AuthMe will NEVER teleport players if set to true!
        noTeleport: false
        # Regex syntax for allowed chars in passwords
        allowedPasswordCharacters: '[\x21-\x7E]*'
    GameMode:
        # Force survival gamemode when player joins?
        ForceSurvivalMode: false
    unrestrictions:
        # Below you can list all account names that
        # AuthMe will ignore for registration or login, configure it
        # at your own risk!! Remember that if you are going to add
        # nickname with [], you have to delimit name with ' '.
        # this option add compatibility with BuildCraft and some
        # other mods.
        # It is case-sensitive!
        UnrestrictedName: []
    security:
        # Minimum length of password
        minPasswordLength: 5
        # Maximum length of password
        passwordMaxLength: 30
        # This is a very important option: every time a player joins the server,
        # if they are registered, AuthMe will switch him to unLoggedInGroup.
        # This should prevent all major exploits.
        # You can set up your permission plugin with this special group to have no permissions,
        # or only permission to chat (or permission to send private messages etc.).
        # The better way is to set up this group with few permissions, so if a player
        # tries to exploit an account they can do only what you've defined for the group.
        # After, a logged in player will be moved to his correct permissions group!
        # Please note that the group name is case-sensitive, so 'admin' is different from 'Admin'
        # Otherwise your group will be wiped and the player will join in the default group []!
        # Example unLoggedinGroup: NotLogged
        unLoggedinGroup: 'unLoggedinGroup'
        # Possible values: MD5, SHA1, SHA256, WHIRLPOOL, XAUTH, MD5VB, PHPBB,
        # MYBB, IPB3, PHPFUSION, SMF, XENFORO, SALTED2MD5, JOOMLA, BCRYPT, WBB3, SHA512,
        # DOUBLEMD5, PBKDF2, PBKDF2DJANGO, WORDPRESS, ROYALAUTH, CUSTOM (for developers only)
        passwordHash: 'SHA256'
        # Salt length for the SALTED2MD5 MD5(MD5(password)+salt)
        doubleMD5SaltLength: 8
        # If password checking return false, do we need to check with all
        # other password algorithm to check an old password?
        # AuthMe will update the password to the new password hash
        supportOldPasswordHash: false
        # Prevent unsafe passwords from being used; put them in lowercase!
        # unsafePasswords:
        # - '123456'
        # - 'password'
        unsafePasswords:
        - '123456'
        - 'password'
        - 'qwerty'
        - '12345'
        - '54321'
    registration:
        # Enable registration on the server?
        enabled: true
        # Send every X seconds a message to a player to
        # remind him that he has to login/register
        messageInterval: 5
        # Only registered and logged in players can play.
        # See restrictions for exceptions
        force: true
        # Do we replace password registration by an email registration method?
        enableEmailRegistrationSystem: false
        # Enable double check of email when you register
        # when it's true, registration requires that kind of command:
        # /register <email> <confirmEmail>
        doubleEmailCheck: false
        # Do we force kick a player after a successful registration?
        # Do not use with login feature below
        forceKickAfterRegister: false
        # Does AuthMe need to enforce a /login after a successful registration?
        forceLoginAfterRegister: false
    # Force these commands after /login, without any '/', use %p to replace with player name
    forceCommands: []
    # Force these commands after /login as service console, without any '/'. Use %p to replace with player name
    forceCommandsAsConsole: []
    # Force these commands after /register, without any '/', use %p to replace with player name
    forceRegisterCommands: []
    # Force these commands after /register as a server console, without any '/'. Use %p to replace with player name
    forceRegisterCommandsAsConsole: []
    # Enable to display the welcome message (welcome.txt) after a registration or a login
    # You can use colors in this welcome.txt + some replaced strings:
    # {PLAYER}: player name, {ONLINE}: display number of online players, {MAXPLAYERS}: display server slots,
    # {IP}: player ip, {LOGINS}: number of players logged, {WORLD}: player current world, {SERVER}: server name
    # {VERSION}: get current bukkit version, {COUNTRY}: player country
    useWelcomeMessage: true
    # Do we need to broadcast the welcome message to all server or only to the player? set true for server or false for player
    broadcastWelcomeMessage: false
    # Should we delay the join message and display it once the player has logged in?
    delayJoinMessage: true
    # Should we remove join messages altogether?
    removeJoinMessage: true
    # Should we remove leave messages?
    removeLeaveMessage: true
    # Do we need to add potion effect Blinding before login/reigster?
    applyBlindEffect: false
    # Do we need to prevent people to login with another case?
    # If Xephi is registered, then Xephi can login, but not XEPHI/xephi/XePhI
    preventOtherCase: false

permission:
    # Take care with this option; if you don't want
    # to use Vault and group switching of AuthMe
    # for unloggedIn players, set this setting to true.
    # Default is false.
    EnablePermissionCheck: false

Email:
    # Email SMTP server host
    mailSMTP: 'smtp.gmail.com'
    # Email SMTP server port
    mailPort: 465
    # Email account which sends the mails
    mailAccount: ''
    # Email account password
    mailPassword: ''
    # Custom sender name, replacing the mailAccount name in the email
    mailSenderName: ''
    # Recovery password length
    RecoveryPasswordLength: 8
    # Mail Subject
    mailSubject: 'Your new AuthMe Password'
    # Like maxRegPerIP but with email
    maxRegPerEmail: 1
    # Recall players to add an email?
    recallPlayers: false
    # Delay in minute for the recall scheduler
    delayRecall: 5
    # Blacklist these domains for emails
    emailBlacklisted:
    - '10minutemail.com'
    # Whitelist ONLY these domains for emails
    emailWhitelisted: []
    # Send the new password drawn in an image?
    generateImage: false
    # The OAuth2 token
    emailOauth2Token: ''

Hooks:
    # Do we need to hook with multiverse for spawn checking?
    multiverse: true
    # Do we need to hook with BungeeCord?
    bungeecord: false
    # Send player to this BungeeCord server after register/login
    sendPlayerTo: ''
    # Do we need to disable Essentials SocialSpy on join?
    disableSocialSpy: true
    # Do we need to force /motd Essentials command on join?
    useEssentialsMotd: false
    # Do we need to cache custom Attributes?
    customAttributes: false

VeryGames:
    # These features are only available on VeryGames Server Provider
    enableIpCheck: false

Protection:
    # Enable some servers protection (country based login, antibot)
    enableProtection: false
    # Countries allowed to join the server and register, see http://dev.bukkit.org/bukkit-plugins/authme-reloaded/pages/countries-codes/ for countries' codes
    # PLEASE USE QUOTES!
    countries:
    - 'US'
    - 'GB'
    # Countries not allowed to join the server and register
    # PLEASE USE QUOTES!
    countriesBlacklist:
    - 'A1'
    # Do we need to enable automatic antibot system?
    enableAntiBot: false
    # Max number of player allowed to login in 5 secs before enable AntiBot system automatically
    antiBotSensibility: 5
    # Duration in minutes of the antibot automatic system
    antiBotDuration: 10

Purge:
    # If enabled, AuthMe automatically purges old, unused accounts
    useAutoPurge: false
    # Number of Days an account become Unused
    daysBeforeRemovePlayer: 60
    # Do we need to remove the player.dat file during purge process?
    removePlayerDat: false
    # Do we need to remove the Essentials/users/player.yml file during purge process?
    removeEssentialsFile: false
    # World where are players.dat stores
    defaultWorld: 'world'
    # Do we need to remove LimitedCreative/inventories/player.yml, player_creative.yml files during purge process ?
    removeLimitedCreativesInventories: false
    # Do we need to remove the AntiXRayData/PlayerData/player file during purge process?
    removeAntiXRayFile: false
    # Do we need to remove permissions?
    removePermissions: false

Security:
    SQLProblem:
        # Stop the server if we can't contact the sql database
        # Take care with this, if you set this to false,
        # AuthMe will automatically disable and the server won't be protected!
        stopServer: true
    ReloadCommand:
        # /reload support
        useReloadCommandSupport: true
    console:
        # Remove spam from console?
        noConsoleSpam: false
        # Remove passwords from console?
        removePassword: true
        # Copy AuthMe log output in a separate file as well?
        logConsole: true
    captcha:
        # Player need to put a captcha when he fails too lot the password
        useCaptcha: false
        # Max allowed tries before request a captcha
        maxLoginTry: 5
        # Captcha length
        captchaLength: 5
    stop:
        # Kick players before stopping the server, that allow us to save position of players
        # and all needed information correctly without any corruption.
        kickPlayersBeforeStopping: true

BackupSystem:
    # Enable or disable automatic backup
    ActivateBackup: false
    # Set backup at every start of server
    OnServerStart: false
    # Set backup at every stop of server
    OnServerStop: true
    # Windows only mysql installation Path
    MysqlWindowsPath: 'C:\\Program Files\\MySQL\\MySQL Server 5.1\\'


a Permissions pro default mám..
Pomohl Jsem? ?
Oplat karma + ;))

Uživatelský avatar
Hanakocz
Příspěvky: 3228
Věk: 34
Registrován: 25 črc 2013, 20:53
Reputation: 7
Kontaktovat uživatele:

Re: Server

#18 Příspěvekod Hanakocz » 14 bře 2016, 16:49

Na skiny a bezpečnost stačí v server.properties nastavit online=true
Jinak ta chyba...šup s tím autorům pluginu, pro 1.9 není vše řádně zaktualizováno...
Industry 2.0 -> 1.7.10 GregTech6 server. Pro připojení stačí napsat.
Člen ligy pro aktualizaci serverů na novější verze a rozšíření modovaného MC.
Discord FH : http://discord.fakaheda.eu/ (sem psát pokud chcete poradit s MC mody akutně)

Fifal
Příspěvky: 411
Registrován: 17 bře 2013, 19:24
Reputation: 0

Re: Server

#19 Příspěvekod Fifal » 14 bře 2016, 16:54

Já chci mít i pro neoriginální hráče.. Takže jak na to?

Takže to je chyba pluginu, že se nesmí registrovat?? A kam to mám podat?
Pomohl Jsem? ?
Oplat karma + ;))


Zpět na „Minecraft, Tekkit“

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 20 hostů